Android 在SDK 26中从本地存储安装APK时出现问题
我有一个方法可以进行应用程序更新,它在sdk版本26之前一直运行良好 在26中,它打开活动,然后立即再次关闭,而不会抛出任何(明显的)异常或警告 我没有看到任何关于新权限或任何必要的文档。如果我只是将Minsdk版本更改为25,它又可以正常工作了 我想知道26年发生了什么变化,以及如何应对 这里是相关的代码段,但正如我所说的,它并没有“断开”-它只是在26中默默地失败Android 在SDK 26中从本地存储安装APK时出现问题,android,android-version,app-update,Android,Android Version,App Update,我有一个方法可以进行应用程序更新,它在sdk版本26之前一直运行良好 在26中,它打开活动,然后立即再次关闭,而不会抛出任何(明显的)异常或警告 我没有看到任何关于新权限或任何必要的文档。如果我只是将Minsdk版本更改为25,它又可以正常工作了 我想知道26年发生了什么变化,以及如何应对 这里是相关的代码段,但正如我所说的,它并没有“断开”-它只是在26中默默地失败 if (Build.VERSION.SDK_INT <= android.os.Build.VERSION_CODES.M
if (Build.VERSION.SDK_INT <= android.os.Build.VERSION_CODES.M) {
Log.d(TAG, "Marshmallow or lower");
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
}
//if version 24 or above
else {
Log.d(TAG, "higher than Marshmallow");
Uri uri = FileProvider.getUriForFile(mContext, mContext.getApplicationContext().getPackageName() + ".provider", file);
intent.setDataAndType(uri, "application/vnd.android.package-archive");
}
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
mContext.startActivity(intent);
if(Build.VERSION.SDK_INT是否尝试将以下权限添加到清单
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
Android Oreo中进行了一些更改,以使从playstore外部安装应用程序更加安全。您可以通过以下链接获得更多信息:
太棒了,这正是我错过的。非常感谢。