2013-01-18 127 views

回答

2

從更新服務器下載文件(可以是任何並使用任何合適的協議)。然後用vnd.android.package-archive打開它:

Intent reinstall = new Intent(Intent.ACTION_VIEW); 
reinstall.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
reinstall.setDataAndType(Uri.fromFile("MyGreatApplication.apk"), 
    "application/vnd.android.package-archive"); 
startActivity(reinstall); 

這將啓動安裝程序。確保您始終使用相同的密鑰庫和密鑰對應用程序進行簽名,否則只有在用戶手動卸載現有版本時才能覆蓋舊應用程序。

1

如何以編程方式更新所有應用程序?

你不行。

我想創建更新管理器。

這是「市場」的應用程序的責任,如Play商店的客戶端,亞馬遜AppStore的爲Android客戶端等

列出所有的更新,並提供給用戶更新。

您不知道更新是什麼,更不用說有能力實際執行更新。

1

如果你的意思是谷歌播放更新

有沒有辦法做到這一點使用公共SDK。 Google Play應用程序已經爲您處理這個問題,Google並未提供API來掛鉤或控制此行爲。

如果你的意思是更新到另一邊加載應用程序,無論是你的,別人的

這有點可能。你需要檢查你想更新的設備上的每個應用程序的版本,並且有一個服務器可以告訴你最新的版本。如果服務器提供更新版本,請將新版本的apk下載到設備上的共享存儲上,然後使用Intent啓動安裝程序。這不能進行無提示安裝,用戶必須手動同意每次更新。此外,更新apk必須使用與舊版本相同的密鑰進行簽名,並且必須具有相同的軟件包名稱。

相關問題