【发布时间】:2017-08-24 10:53:52
【问题描述】:
我正在尝试以编程方式下载和安装 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.NullPointerException:尝试调用 虚拟方法'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' 在空对象引用上
错误指向的行
Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
我怎样才能解决这个问题?
【问题讨论】:
标签: android parse-error