我正在嘗試對我編寫的應用程序進行編程更新,因爲它不是Google Play應用程序,我想提供一種更新方法。Android開始Intent.ACTION_INSTALL_PACKAGE活動並且額外返回結果不會返回
我一直在四處搜索,發現如何在下載APK進行更新後啓動Android安裝程序,但我需要從安裝程序獲取結果,告訴我更新是否成功,或者如果它被用戶取消。
我在StackOverflow上看到了一堆關於此問題的問題,以及通常涉及使用廣播接收器的答案。問題在於它只能接收關於正在安裝的軟件包的意圖,而不是關於取消的安裝失敗。
我做了一些更多的研究,似乎Intent API提供了一些額外的例如Intent.EXTRA_RETURN_RESULT,如果設置爲true應該返回安裝程序活動的結果 - 我想通過onActivityResult。不幸的是,這是行不通的。有沒有人得到這個工作/是否這樣工作?
這裏是代碼準備安裝活動開始,我目前有:
Intent installApp = new Intent(Intent.ACTION_INSTALL_PACKAGE);
installApp.setData(downloadedApk);
installApp.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
installApp.putExtra(Intent.EXTRA_RETURN_RESULT, true);
installApp.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, context.getApplicationInfo().packageName);
context.startActivityForResult(installApp, 1);
'EXTRA_RETURN_RESULT'是新的API等級14 - 你的Android 4.0以上版本的設備上測試這個? – CommonsWare 2013-03-12 16:21:14