解析错误,尝试安装下载的.apk文件

时间:2018-01-16 11:16:50

标签: android upgrade android-update-app

我想升级我的应用。我在服务器上获得新版本.apk。如果删除旧版本应用程序,它是手动工作。在设备上,但如果我不删除旧版本的应用程序。不起作用我采取相同的解析错误。

我添加了AndroidManifest文件:
<uses-permission android:name="android.permission.INSTALL_PACKAGES" tools:ignore="ProtectedPermissions" />

我测试另一个.apk,这是工作。

public class VersionUpdateTask extends AsyncTask<String, Float, String> {

@Override
protected void onPostExecute(String result) {
    mWakeLock.release();

    updateManager.updateBar.stop();

    else {

        try {

            String PATH = Environment.getExternalStorageDirectory() + "/download/";
            File file = new File(PATH, updateManager.apkOutPath);
            if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.N) {
                Uri fileUri = FileProvider.getUriForFile(updateManager.updateContext,updateManager.updateContext.getPackageName() + ".provider", file);
                Intent intent = new Intent(Intent.ACTION_VIEW, fileUri);
                intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
                intent.setDataAndType(fileUri, "application/vnd.android" + ".package-archive");
                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                updateManager.updateContext.startActivity(intent);

            } else {
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);


                updateManager.updateContext.startActivity(intent);
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }

    }



}

}

0 个答案:

没有答案