我正在尝试通过以下代码以编程方式安装apk:
Intent intent = new Intent(Intent.ACTION_VIEW);
String mimetype = "application/vnd.android.package-archive";
intent.setDataAndType(Uri.fromFile(file), mimetype);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
除三星Galaxy Tab GT-P1000外,它适用于所有设备。
在Galaxy Tab包管理器上开始安装,但永远不会结束它。有一个无尽的进度条显示。在通过后退键关闭pakage管理器之后,我确保从未将更少的apk安装到系统中。
如果我尝试通过在文件管理器中启动它来安装相同的apk,那么一切正常。 Apk安装和包管理器安装进度在几秒钟内完成。
那么,在以编程方式安装时,我该怎么做才能使包管理器正常工作?
答案 0 :(得分:0)
要完成此操作,您必须将要安装的apk包含在将安装它们的项目中的设备中。然后,您可以使用intent来启动安装。
检查一下 - http://www.androidsnippets.com/install-an-apk-via-intent
另一种方法是创建一个ACTION_VIEW意图并使用意图的setDataAndType方法。然后使用上下文的startActivityForResult()方法来安装APK。
您可能还需要清单中的INSTALL_PACKAGES的用户权限。
答案 1 :(得分:0)
问题出在Galaxy Tab任务管理器中。由于我的应用程序中的错误,它使用100%的CPU。似乎任务管理器根本无法打开包管理器。在我修复了100%cpu的错误后,程序包管理器开始正常工作。