2012-02-09 47 views
2

編程方式安裝apk文件,我想這段代碼編程方式安裝APK:如何在Galaxy Tab的

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 manager後,我確定從未安裝過少於apk的系統。

如果我嘗試安裝相同的apk只需在文件管理器中啓動它就可以正常運行。 Apk安裝和打包管理器安裝進度在幾秒鐘內完成。

那麼,我能做些什麼來讓程序包管理器在編程安裝時正常工作?

+0

僅供參考,我經常在Galaxy Tab上觀察到這一點,當我的腳本使用'am'命令安裝.apk文件時。安裝一直在第二次嘗試。 – 2012-02-09 05:26:20

回答

0

問題出在Galaxy Tab任務管理器中。由於我的應用程序錯誤,它使用100%的CPU。而且似乎任務管理器根本無法打開包管理器。在我用100%cpu修正了一個錯誤後,程序包管理器開始正常工作。

0

要完成此操作,您必須在要安裝它們的項目中包含您希望安裝到設備的apk。然後您可以使用意圖來啓動安裝。

檢查了這一點 - http://www.androidsnippets.com/install-an-apk-via-intent

另一種方法是創建一個ACTION_VIEW意圖和使用意向的setDataAndType方法。然後使用上下文的startActivityForResult()方法來安裝APK。

您可能還需要清單中INSTALL_PACKAGES的用戶權限。

+0

我無法在項目中包含此apk。我正在外面下載它。你爲什麼認爲它可以提供幫助?當然,我在清單中使用。 – vok1980 2012-03-05 10:16:11