如果我能够安装apk,如何以编程方式检查

时间:2016-11-09 16:19:22

标签: android performance apk package-managers android-install-apk

我的应用下载apk文件,我想检查一下我是否可以打开该存档并在安装之前安装它。

我知道我可以使用包管理器读取存档,如果它不是有效的apk,它将为null,但是现在,包管理器不是null,但我仍然无法使用安装apk文件(通过意图)。

它给了我一个错误,来自操作系统说"分析包时发生错误"

所以基本上我只是想以不同的方式检查apk是否有效,而不是检查包管理器是否为空。

有没有办法检查这个?

编辑:

这是一些代码。

文件目标是我作为方法的参数获取的文件的副本,其中包含所有这些代码。

  String updatePackageName =getPackageManager()
            .getPackageArchiveInfo(fileDestination.getAbsolutePath(), 0)
            .packageName;
    int updateVersionCode = getPackageManager()
            .getPackageArchiveInfo(fileDestination.getAbsolutePath(), 0)
            .versionCode;
    String updateVersionName = getPackageManager()
            .getPackageArchiveInfo(fileDestination.getAbsolutePath(), 0)
            .versionName;

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(Uri.fromFile(fileDestination), "application/vnd.android.package-archive");
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

0 个答案:

没有答案