【问题标题】:XMLResourceParserError while trying to install an apk programmatically尝试以编程方式安装 apk 时出现 XMLResourceParserError
【发布时间】: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


    【解决方案1】:

    Uri apkUri = FileProvider.getUriForFile(MainActivity.activity, BuildConfig.APPLICATION_ID + ".provider", new File(mainActivity.destination));

    .fileprovider

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      相关资源
      最近更新 更多