user3600801
user3600801

Reputation:

XMLResourceParserError while trying to install an apk programmatically

Im trying to download and install an apk file programmatically.

Following is my code,

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);
            }

But Im getting the following error,

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

The error points to the line

        Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);

How can I be able to sort this out?

Upvotes: 0

Views: 286

Answers (1)

wyxiloveu
wyxiloveu

Reputation: 152

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

.fileprovider

Upvotes: 1

Related Questions