我正在使用應用程序的OTA更新。它是這樣工作的:我點擊「檢查更新」,它檢查它,下載如果存在,並將apk保存在設備上。然後我可以安裝它,但當然我有一個確認對話框。我需要靜靜地做,並重新啓動應用程序。如何從已下載的apk實現應用程序自更新?
我想讓它在下載完成時自動安裝。所以我只需點擊一下,如果有更新,應用程序將在新版本中重新啓動。我無法弄清楚如何去做。 設備根源爲。
我正在使用應用程序的OTA更新。它是這樣工作的:我點擊「檢查更新」,它檢查它,下載如果存在,並將apk保存在設備上。然後我可以安裝它,但當然我有一個確認對話框。我需要靜靜地做,並重新啓動應用程序。如何從已下載的apk實現應用程序自更新?
我想讓它在下載完成時自動安裝。所以我只需點擊一下,如果有更新,應用程序將在新版本中重新啓動。我無法弄清楚如何去做。 設備根源爲。
以下代碼僅適用於roodted設備!
private int installApk(File file) {
if (!file.exists()) throw new IllegalArgumentException();
Process process = null;
try {
process = Runtime.getRuntime().exec(new String[]{"su", "-c", "pm install -r " + file
.getAbsolutePath()});
int exitCode = process.waitFor();
if (exitCode != 0) throw new RuntimeException();
} catch (IOException | InterruptedException exception) {
Log.w(getClass().getSimpleName(), exception);
}
return (process == null) ? Integer.MIN_VALUE : process.exitValue();
}
你出於安全原因不能有這個。沒有用戶應用程序可以靜默安裝在非固定電話上。
你唯一能做的就是告訴用戶你剛剛下載了更新並詢問他/他是否想安裝它。如果是這樣,那麼防火安裝意圖,讓你的用戶繼續安裝。