首页 > 解决方案 > 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

解决方案


您没有附加任何日志,但分析了您的代码,我认为此崩溃可能与 Android 10(文件访问)中的隐私更改有关。您可以在此处阅读有关此内容的更多信息:https ://developer.android.com/about/versions/10/privacy/changes#scoped-storage


推荐阅读