2017-09-11 104 views
1

我正在使用應用程序的OTA更新。它是這樣工作的:我點擊「檢查更新」,它檢查它,下載如果存在,並將apk保存在設備上。然後我可以安裝它,但當然我有一個確認對話框。我需要靜靜地做,並重新啓動應用程序。如何從已下載的apk實現應用程序自更新?

我想讓它在下載完成時自動安裝。所以我只需點擊一下,如果有更新,應用程序將在新版本中重新啓動。我無法弄清楚如何去做。 設備根源爲

回答

2

以下代碼僅適用於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(); 
} 
0

你出於安全原因不能有這個。沒有用戶應用程序可以靜默安裝在非固定電話上。

你唯一能做的就是告訴用戶你剛剛下載了更新並詢問他/他是否想安裝它。如果是這樣,那麼防火安裝意圖,讓你的用戶繼續安裝。

相關問題