android - startActivity intent is crashing on app upgrade in android 10 & above
问题描述
Below is my code bit.
Intent installIntent = new Intent(Intent.ACTION_VIEW);
installIntent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/Download/<filename>.apk")),"application/vnd.android.package-archive");
installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
installIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(installIntent);
Logs attached below.
2021-05-12 13:40:27.167 6451-6451/Testpackage E/AndroidRuntime: FATAL EXCEPTION: main Process: Testpackage , PID: 6451 android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///storage/emulated/0/Download/test.apk typ=application/vnd.android.package-archive flg=0x10000001 } at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2051) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1849) at android.app.Activity.startActivityForResult(Activity.java:5892) at android.app.Activity.startActivityFromFragment(Activity.java:5867) at android.app.Activity$HostCallbacks.onStartActivityFromFragment(Activity.java:8616) at android.app.Fragment.startActivity(Fragment.java:1101) at android.app.Fragment.startActivity(Fragment.java:1080) at com.vitamap.medge.ui.PrefsFragment.handleUpgdPrefClick(PrefsFragment.java:549) at com.vitamap.medge.ui.PrefsFragment.lambda$onCreate$0(PrefsFragment.java:105) at com.vitamap.medge.ui.-$$Lambda$PrefsFragment$ptok941-PomzwJdbFAOuP_uSPDs.onUpgdPrefClick(Unknown Source:2) at com.vitamap.medge.ui.base.UpgradeCheckPref.onClick(UpgradeCheckPref.java:61) at android.preference.Preference.performClick(Preference.java:1163) at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:260) at android.widget.AdapterView.performItemClick(AdapterView.java:330) at android.widget.AbsListView.performItemClick(AbsListView.java:1190) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3198) at android.widget.AbsListView$3.run(AbsListView.java:4116) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Can anyone help me on this?
解决方案
您没有附加任何日志,但分析了您的代码,我认为此崩溃可能与 Android 10(文件访问)中的隐私更改有关。您可以在此处阅读有关此内容的更多信息:https ://developer.android.com/about/versions/10/privacy/changes#scoped-storage
推荐阅读
- unity3d - Unity WebGL 在加载和不播放视频时构建缺少 sharedassets1.resource
- intellij-idea - Intellij 测试用例未退出
- swift - SwiftUI - 前提条件失败:输入索引无效:键盘通知上的 4
- python - 计算需要多少行才能加起来一个值
- angular - 关于排序选项卡对象(ANGULAR,TS)显示“冠军分类”的问题
- javascript - 隐藏 div,两个动态状态 javascript
- python - 使用 Python 基于特定模式进行标记
- redirect - 如何在 nuxt.js 中从 www 重定向到非 www
- android - 是否可以将 cameraX 或 Camera2 缩放到 Api 最大缩放限制之外
- php - 使用PDO记录sql查询时的运行函数?