>我试图以编程方式下载和安装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);
}
但是我收到以下错误,
致命异常:java.lang.NullPointer异常:尝试调用 虚拟方法 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String(' 在空对象引用
上
错误指向该行
Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
我怎样才能解决这个问题?
apkUri = FileProvider.getUriForFile(MainActivity.activity, BuildConfig.APPLICATION_ID + ".provider", new File(mainActivity.destination((;
.fileprovider