在Android Nougat中以编程方式安装APK文件后,未出现“打开并完成”屏幕
我正在编程安装APK,并为此使用以下代码:在Android Nougat中以编程方式安装APK文件后,未出现“打开并完成”屏幕,android,android-install-apk,android-7.0-nougat,Android,Android Install Apk,Android 7.0 Nougat,我正在编程安装APK,并为此使用以下代码: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { Uri apkUri = FileProvider.getUriForFile(getApplicationContext(), BuildConfig.APPLICATION_ID + ".fileprovider", new File(Environment
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
Uri apkUri = FileProvider.getUriForFile(getApplicationContext(),
BuildConfig.APPLICATION_ID + ".fileprovider", new File(Environment
.getExternalStorageDirectory() + "/.QCApp/" +
Constants.APP_TYPE + versionName + ".apk"));
Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
intent.setData(apkUri);
intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);
} else {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() +
"/.QCApp/" +
Constants.APP_TYPE + versionName + ".apk")),
"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
但在Android Nougat中,APK安装成功,但“完成”和“打开”屏幕并未出现。
我遗漏了什么?考虑到设备制造商可以修改此流程,我不会对正在发布的屏幕内容做出任何假设。我正在谷歌Pixel上测试它,但如果我手动单击设备下载的APK文件,则会出现此屏幕,因此我认为这不是生产问题?“我正在Google Pixel上测试它”——所以呢?除非你只打算在一台设备上运行你的应用程序,否则不同设备的行为可能会有所不同。我只是想让你知道,如果你想知道我在使用哪台设备的话