0

在我的应用程序中显示警报对话框后,我正在尝试更新应用程序。它在 Android Oreo 下运行良好。这是我到目前为止所尝试的

String ANDROID_PACKAGE = "application/vnd.android.package-archive";
                    File update_apk = new File(context.getFilesDir(), intent.getStringExtra("update_file"));
                    Intent notificationIntent;
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                        notificationIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
                        notificationIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                        notificationIntent.setDataAndType(
                                FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".fileprovider", update_apk),
                                ANDROID_PACKAGE);
                    } else {
                        notificationIntent = new Intent(Intent.ACTION_VIEW);
                        notificationIntent.setDataAndType(
                                Uri.parse("file://" + update_apk.getAbsolutePath()),
                                ANDROID_PACKAGE);
                    }
                    startActivity(notificationIntent);

如何在未植根的设备中显示此应用程序更新对话框。任何帮助,将不胜感激。预先感谢。

4

1 回答 1

1

检查 manifest.xml 文件中的以下权限。

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

还要检查 Intent.VIEW_ACTION 的文件提供程序。

更多参考检查此页面Android install apk with Intent.VIEW_ACTION not working with File provider

享受代码。

于 2018-08-04T12:06:49.963 回答