我的应用下载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);