android – 有没有办法在APK无法安装时收到通知?

我在写一个应用程序.
在应用程序中,我以编程方式下载APK并启动
启动APK安装的意图.

Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "app.apk")),
                "application/vnd.android.package-archive");
        startActivity(intent);

一切都运作良好.

但是,当我尝试,例如,启动一个coruupted APK的安装
有一个对话框出现:

我想在安装APK(损坏的APK,没有足够的空间等等)时收到通知.

那么,是否有一种方式(事件或其他)被通知,所以我可以替换
使用我自己的对话框“解析错误”defalt对话框?

谢谢!

解决方法:

我不是100%确定这种方法是否适用于所有潜在的情况,但我一直在测试,至少对我有用.

我没有找到有关在Android中检测安装错误的信息,因此我尝试抢先检测apk文件是否已损坏.

根据这个link,apks只是带有dalvik代码的jar文件.因此,您可以使用zip解压缩来检测文件是否已损坏以及解析包的任何问题.

boolean corruptedApkFile = false;
try {
     new JarFile(updateFileFullPath); //Detect if the file have been corrupted
} catch (Exception ex) {
     corruptedApkFile = true;
}
上一篇:mysql – 本地IP与环回的数据库访问速度?


下一篇:POJ 1328 Radar Installation [贪心]