我有一堆Android設備將與自定義ROM一起刷新並提供給客戶。作爲該ROM的一部分將是一個「支持」應用程序,它與設備綁定在一起。它不能發佈到Google Play。我需要能夠爲用戶提供下載和安裝軟件更新版本的機會。我已檢查,下載並安裝已實施的代碼,但它依賴於配置的設備來啓用來自未知來源的應用程序的安裝。我需要該設備才能夠下載並安裝此特定apk,同時仍不允許安裝來自未知來源的任何其他應用程序。如何將更新推送到預先安裝的應用程序,而不允許從未知來源安裝
這可能嗎?
(編輯:澄清如何選擇的答案終於摸索)
的代碼添加到活動中是這樣的:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() +"/update.apk")), "application/vnd.android.package-archive");
intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
intent.putExtra(Intent.EXTRA_ALLOW_REPLACE, true);
startActivityForResult(intent, 0);
到Android清單中加入以下代碼:
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
安裝該應用程序後,我使用根文件瀏覽器將apk文件從/user/apps
移動到/system/apps
,然後重置手機後應用程序能夠自行安裝,而不會提示用戶啓用不受信任的來源。安裝提示列出了應用程序所需的權限,並提供用戶選擇安裝還是不顯示,但這很好。
您好。我已經嘗試添加額外的字段,他們仍然沒有重寫安全性。你能告訴我更多關於shareduserid方法嗎? – LairdPleng
檢查編輯。 – nandeesh
嗨,感謝您的回覆,但如果您檢查該代碼中的註釋,它不會覆蓋啓用未知來源的需要,它只會提示它們更改設置 – LairdPleng