调用系统播放器代码:
File f = new File(mediaItem.getData());
System.out.println("文件路径是否存在?? " + f.exists()); // true
System.out.println(mediaItem);
Intent intent = new Intent();
// 已确认路径正确
// mediaItem.getData() -> /storage/emulated/0/DCIM/Camera/VID20180709171205.mp4
intent.setDataAndType(Uri.parse(mediaItem.getData()), "video/*");
context.startActivity(intent);
已配置权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="oppo.permission.OPPO_COMPONENT_SAFE" />
配置后任然报错:
Process: org.y.moveplayer2, PID: 32038
java.lang.SecurityException: Permission Denial: starting Intent { dat=/storage/emulated/0/DCIM/Camera/VID20180709171205.mp4 typ=video/* cmp=com.coloros.gallery3d/com.oppo.gallery3d.app.GalleryOppoShareActivity } from ProcessRecord{ab41248 32038:org.y.moveplayer2/u0a965} (pid=32038, uid=10965) requires oppo.permission.OPPO_COMPONENT_SAFE
at android.os.Parcel.createException(Parcel.java:1966)
at android.os.Parcel.readException(Parcel.java:1934)
at android.os.Parcel.readException(Parcel.java:1884)
at android.app.IActivityManager$Stub$Proxy.startActivity(IActivityManager.java:3677)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1671)
at android.app.Activity.startActivityForResult(Activity.java:4693)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
at android.app.Activity.startActivityForResult(Activity.java:4635)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754)
at android.app.Activity.startActivity(Activity.java:5012)
at android.app.Activity.startActivity(Activity.java:4980)
at org.y.moveplayer.pager.SearchPager$2.onItemClick(SearchPager.java:85)
at android.widget.AdapterView.performItemClick(AdapterView.java:326)
at android.widget.AbsListView.performItemClick(AbsListView.java:1238)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3224)
at android.widget.AbsListView$3.run(AbsListView.java:4366)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:232)
at android.app.ActivityThread.main(ActivityThread.java:7240)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:502)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:883)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.am.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1980)
at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:1063)
at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:652)
at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:2047)
at com.android.server.am.ActivityStarter.execute(ActivityStarter.java:590)
已测试机型:
Oppo R15 Android9.0 (**直接崩溃**)
T7 Android 4.4.4 (**弹出系统播放器最近列表, 点击列表项没有反应**)
请问这种问题要怎么解决呢?
非常感谢!