Существует ли способ автоматически обновить приложение на Android?

Я разрабатываю приложение, которое будет, скорее всего, предварительно установлено на устройствах. Это будет также доступно на Google Play. Есть ли способ обновить те экземпляры, которые не загружаются через Google Play, так как Google Play не уведомит пользователей об обновлении.

Я думал о, как предложено здесь, пытаясь связываться с моим сайтом периодически, и когда обновление доступно, загрузите его.

Есть ли способ сделать это обновление автоматически, или даже тихо, так, чтобы пользователь ничего не делал (как выполнение пакета вручную). Или, когда мое выставочное обновление сайта доступно, чтобы предложить пользователям обновление через Google Play, даже при том, что это не установлено через Рынок (РЕДАКТИРОВАНИЕ: Эта опция игры Google была бы предпочтительна, потому что, чем пользователи не должен будет проверять, "позволяют установку нерыночных источников".)

36
задан Community 23 May 2017 в 12:17
поделиться

4 ответа

У меня была такая же проблема, теперь я проверяю при запуске приложения, есть ли новая версия в моем конфигурационном xml.

Я сравниваю фактическую версию с тегом "< app_version >1.1< /app_version >" моего configuration.xml. Если она ниже, я спрашиваю с помощью пользовательского AlertDialog, продолжать ли обновление

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse(myapk_link));
startActivity(intent);    

после загрузки пользователь должен запустить пакет вручную.

если вы выбираете обновление из Android market используйте:

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://details?id=com.package.name"));
startActivity(intent);  

com.package.name должен быть "пакет" вашего приложения

или

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APP_NAME));
startActivity(intent);  
43
ответ дан 27 November 2019 в 05:52
поделиться

Только что нашел способ, который работает. Запустить намерение для Market, который ищет мое приложение.

Протестировано с OpenIntent Newsreader, потому что было легко найти более старую версию .apk. Маркет находит приложение и, когда пользователь нажимает кнопку «Установить», заменяет старую версию версией из Маркета. Я думаю, что это гораздо более простое решение для пользователя, чем загрузка вручную .apk и его запуск.

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APPLICATION_NAME));
startActivity(intent);  
8
ответ дан 27 November 2019 в 05:52
поделиться

Вы не можете установить или обновить пакет автоматически. Только Android Market способен на это (т.е. он автоматически обновляется).

Вы, конечно, можете загрузить пакет и запустить Intent , чтобы установить его, но пользователю нужно будет включить параметр «Разрешить приложения не из Маркета», и ему все равно придется вручную утверждать установка / обновление.

Одно из мест, где можно, возможно, исследовать, - это то, как это делают Карты Google. Обычно он предустановлен, но, как мне кажется, всегда отображается как обновление в приложении Android Market. Есть ли специальный флаг в packages.xml или манифесте, я не знаю.

0
ответ дан 27 November 2019 в 05:52
поделиться

Я разрабатываю приложение, скорее всего будет предустановлен на устройств.

Затем вам нужно поговорить с производителями устройств и задать им свои вопросы. Никто другой не сможет сказать вам, что возможно, а что невозможно, учитывая их устройство и оператора (-ов), который будет его распространять. Ответы во многом будут зависеть от того, как они создают свою прошивку, будет ли ваше приложение частью прошивки или «установленным» как обычное приложение, каковы их договоренности с оператором связи относительно обновлений прошивки и т. Д. Вы можете даже не получить голосование по этому вопросу.

4
ответ дан 27 November 2019 в 05:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: