2

我正在尝试通过以下代码以编程方式安装 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 包管理器上开始安装,但从未结束。有一个进度条没完没了的显示。通过返回键关闭包管理器后,我确定系统中没有安装过少的 apk。

如果我尝试通过在文件管理器中启动它来安装相同的 apk,一切都会正常进行。Apk 安装和包管理器安装进度在几秒钟内完成。

那么,以编程方式安装时,我该怎么做才能使包管理器正常工作?

4

2 回答 2

0

为此,您必须在将安装它们的项目中包含您希望安装到设备的 apk。然后,您可以使用意图开始安装。

看看这个 - http://www.androidsnippets.com/install-an-apk-via-intent

另一种方法是创建一个 ACTION_VIEW 意图并使用该意图的 setDataAndType 方法。然后使用上下文的 startActivityForResult() 方法安装 APK。

您可能还需要清单中 INSTALL_PACKAGES 的用户权限。

于 2012-03-02T15:28:17.460 回答
0

问题出在 Galaxy Tab 任务管理器中。由于我的应用程序中的错误,它正在使用 100% 的 CPU。而且似乎任务管理器根本无法打开包管理器。在我修复了 100% cpu 的错误后,包管理器开始正常工作。

于 2012-03-13T10:03:45.937 回答