簡體   English   中英

以編程方式從 Google Play 觸發應用更新

[英]Programmatically trigger app update from Google play

  1. 在 Google Play 開發者控制台中提交應用更新並且該應用對所有用戶可見后,任何設備選擇更新需要多長時間? (假設全天都有活動的互聯網 wifi 連接並且此應用程序已啟用自動更新)

  2. 我可以在沒有任何用戶提示或任何交互的情況下以編程方式向 Google Play 商店發起關於更新的請求嗎? (假設更新時沒有請求新的權限)。 如果是這樣,請建議如何。

其他信息:我的應用程序專為使用安卓盒子的數字標牌而設計。 應用程序在啟動時啟動,占據屏幕。 在應用程序的生命周期內,不會有任何類型的用戶直接與應用程序交互。

  1. 通常更新會在 24 小時內安裝,前提是用戶保持與互聯網的有效連接和充足的電池。 Android 盒子沒有任何電池,因此通過 google play 自動更新(沒有任何用戶交互)是不可靠的。

  2. 使用此代碼在沒有 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. 這取決於 Google 的后端復制您的新更新,通常在 8-24 小時內。
  2. 不,這將是一個安全漏洞。 未經用戶交互,應用程序不得自行安裝或更新。

我已經經歷過很多次了。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM