[英]Programmatically trigger app update from Google play
在 Google Play 開發者控制台中提交應用更新並且該應用對所有用戶可見后,任何設備選擇更新需要多長時間? (假設全天都有活動的互聯網 wifi 連接並且此應用程序已啟用自動更新)
我可以在沒有任何用戶提示或任何交互的情況下以編程方式向 Google Play 商店發起關於更新的請求嗎? (假設更新時沒有請求新的權限)。 如果是這樣,請建議如何。
其他信息:我的應用程序專為使用安卓盒子的數字標牌而設計。 應用程序在啟動時啟動,占據屏幕。 在應用程序的生命周期內,不會有任何類型的用戶直接與應用程序交互。
通常更新會在 24 小時內安裝,前提是用戶保持與互聯網的有效連接和充足的電池。 Android 盒子沒有任何電池,因此通過 google play 自動更新(沒有任何用戶交互)是不可靠的。
使用此代碼在沒有 Playstore 的情況下發出自動更新。
添加此權限: <uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
使用以下函數:
public static void installAPK(String filename) {
File file = new File(filename);
if (file.exists()) {
Runtime.getRuntime().exec("chmod 777 " + filename);
String command;
command = "pm install -r " + filename;
Process proc = Runtime.getRuntime().exec(new String[]{"su", "-c", command});
proc.waitFor();
}
}
注意:這僅在自上次安裝后您沒有為應用程序請求任何額外權限時才有效。
我已經經歷過很多次了。
1> 我通常需要大約 2 - 4 小時才能在 google play 上更新我的應用程序。
2> 我認為你在談論強制更新。 我為此所做的是我制作了一個用於檢查應用程序版本的api。 根據它,我重定向到 google play 中的更新屏幕。 我希望它有幫助。
// Here min_supported_version is generated from api
if (min_supported_version <= BuildConfig.VERSION_CODE) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=yourpackagename")));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.