尝试以编程方式安装 apk 时出现 XMLResourceParserError
XMLResourceParserError while trying to install an apk programmatically
我正在尝试以编程方式下载并安装 apk 文件。
以下是我的代码,
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Uri apkUri = FileProvider.getUriForFile(MainActivity.activity, BuildConfig.APPLICATION_ID + ".provider", new File(mainActivity.destination));
Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
intent.setData(apkUri);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
activity.startActivity(intent);
} else {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(mainActivity.destination)), "application/vnd.android.package-archive");
mainActivity.context.startActivity(intent);
}
但是我收到以下错误,
Fatal Exception: java.lang.NullPointerException: Attempt to invoke
virtual method 'android.content.res.XmlResourceParser
android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager,
java.lang.String)' on a null object reference
错误指向行
Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
我怎样才能解决这个问题?
Uri apkUri = FileProvider.getUriForFile(MainActivity.activity, BuildConfig.APPLICATION_ID + ".provider", new File(mainActivity.destination));
.文件提供者
我正在尝试以编程方式下载并安装 apk 文件。
以下是我的代码,
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Uri apkUri = FileProvider.getUriForFile(MainActivity.activity, BuildConfig.APPLICATION_ID + ".provider", new File(mainActivity.destination));
Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
intent.setData(apkUri);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
activity.startActivity(intent);
} else {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(mainActivity.destination)), "application/vnd.android.package-archive");
mainActivity.context.startActivity(intent);
}
但是我收到以下错误,
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
错误指向行
Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
我怎样才能解决这个问题?
Uri apkUri = FileProvider.getUriForFile(MainActivity.activity, BuildConfig.APPLICATION_ID + ".provider", new File(mainActivity.destination));
.文件提供者