Reputation: 1
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?
Upvotes: 0
Views: 387
Reputation: 1
This is Due to In android 10 and Above you can directly access the external storage just add this line inside the Application Tag in AndroidManifest.xml file android:requestLegacyExternalStorage="true" .
Upvotes: -1
Reputation: 143
You haven't attached any logs but analysing your code I think that this crash might be related to privacy changes in Android 10 (file access). You can read more about this here: https://developer.android.com/about/versions/10/privacy/changes#scoped-storage
Upvotes: 0