Android: добавление кнопки обновления - PullRequest
7 голосов
/ 20 февраля 2011

Можно ли добавить кнопку в приложение, которое пытается обновить приложение?

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

UPDATE: Спасибо, это заставило меня идти в правильном направлении. Я выбрал довольно простой подход. Вот окончательный код для включения кнопки «Проверить наличие обновлений» в настройках.

В предпочтительном XML:

<Preference
android:title="Check for Updates"
android:summary="Version: 1.3"
android:key="versionPref" /> 

В Java:

// select button
Preference versionPref = findPreference("versionPref");

// set string
String versionName = getVersionName();
versionPref.setSummary("Version: "+versionName);

// attach to button
versionPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
    public boolean onPreferenceClick(Preference preference) {

    Intent intent = new Intent(Intent.ACTION_VIEW); 
    intent.setData(Uri.parse("market://search?q=pname:com.mycompany.myapp")); 
    startActivity(intent);
    return true;
    }

});

// Получить имя строки

   public String getVersionName() {
       String versionName = "";
       try {
         versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
       } catch (NameNotFoundException e) {
          // Huh? Really?
       }
       return versionName;
    }

Ответы [ 2 ]

4 голосов
/ 20 февраля 2011

Просто создайте сайт где-нибудь с номером релиза вроде

http://example.com/myapp/release

Если номер версии на этой странице выше, чем текущая версия, включите кнопку обновления. Вы можете использовать "market: // search? Q = pname: com.example.myapp" Uri, чтобы указать пользователю, чтобы загрузить ваше приложение.

2 голосов
/ 20 февраля 2011

Поместите файл на веб-сервер, который содержит самую последнюю версию-нет, а также поместите apk вашего приложения на веб-сервер.Когда пользователь хочет проверить наличие обновлений, загрузите файл версии, если установленная в настоящее время версия меньше последней, загрузите APK и установите его.

Основной недостаток: пользователь должен включить «небезопасно»исходники ", иначе вы не сможете установить apk из своего приложения.

Вы также можете избежать установки apk, открыв страницу на рынке, но пользователю придется нажать там" Upgrade ".

...