打开文件列表里的视频时崩溃
你好,运行后下载了bilibili的视频,然后进入文件列表里点击打开,会导致Activity崩溃,崩溃日志如下:
FATAL EXCEPTION: main Process: com.xm.vbrowser.app, PID: 30297 android.os.FileUriExposedException: file:///storage/emulated/0/VBrowser/xxx.mp4 exposed beyond app through Intent.getData() at android.os.StrictMode.onFileUriExposed(StrictMode.java:1799) at android.net.Uri.checkFileUriExposed(Uri.java:2346) at android.content.Intent.prepareToLeaveProcess(Intent.java:8983) at android.content.Intent.prepareToLeaveProcess(Intent.java:8942) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1519) at android.app.Activity.startActivityForResult(Activity.java:4399) at android.app.Activity.startActivityForResult(Activity.java:4357) at android.app.Activity.startActivity(Activity.java:4696) at android.app.Activity.startActivity(Activity.java:4664) at com.xm.vbrowser.app.util.IntentUtil.openFileByUri(IntentUtil.java:32) at com.xm.vbrowser.app.activity.FileListActivity$2.onItemClick(FileListActivity.java:75) at android.widget.AdapterView.performItemClick(AdapterView.java:310) at android.widget.AbsListView.performItemClick(AbsListView.java:1156) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3143) at android.widget.AbsListView$3.run(AbsListView.java:4086) at android.os.Handler.handleCallback(Handler.java:754) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:163) at android.app.ActivityThread.main(ActivityThread.java:6365) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:791)
测试机型信息如下:

是打开文件用的系统API需要兼容Android N的问题,已经提交pull request
Good Job! 我看下
这个是其中一种方案。 还可以用m3u8的http server方案,向外暴露http url,通用性上有些优势,比如局域网内跨设备投射