4

ウェブサイトから入手できるアプリケーションを開発しています (おそらく市場も同様です)。私が現在抱えている問題は、アプリの更新を処理する方法です。現在のバージョンと比較してバージョンを確認する方法を知っており、更新する必要があるかどうかを知っています。質問は...どのように?

Web サイトから APK をダウンロードして、インストール プロセスを開始する方法はありますか? もちろん、ユーザーは確認する必要がありますが、私は彼のためにそれを開始できるようにしたいだけです. 現時点では、私はこれをやっています:

private void doUpgrade() {
    // TODO Auto-generated method stub
    Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(getString(R.string.upgrade));
    builder.setIcon(R.drawable.help);
    builder.setMessage(getString(R.string.needUpgrade));
    builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

            Map<String, String> data = new HashMap<String, String>();

            try {
                HttpResponse re = Registration.doPost("http://www.android-town.com/appRelease/AndroidTown.apk",data);

                int statusCode = re.getStatusLine().getStatusCode();
                closeApp();

            } catch (ClientProtocolException e) {
                e.printStackTrace();
                Toast.makeText(getApplicationContext(), getString(R.string.noURLAccess), Toast.LENGTH_SHORT).show();
                closeApp();
            } catch (IOException e) {
                e.printStackTrace();
                Toast.makeText(getApplicationContext(), getString(R.string.noURLAccess), Toast.LENGTH_SHORT).show();
                closeApp();
            }
        }
    });
    builder.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            dialog.cancel();
            closeApp();
        }
    });
    builder.show();
}

しかし、実際には何もしません... URL で webView を開く必要がありますか? 新しい実行可能なスレッド? その他の方法で?助けてください :)

乾杯

4

3 に答える 3

2

を起動しIntentて でダウンロード URL を開くのが最も簡単ですBrowser。これにより がダウンロードされAPK、ユーザーはダウンロード マネージャーでクリックしてインストールできます。

これは市場とは別に OTA を処理すると言っているので、ユーザーは最初にアプリをインストールしたときに「市場以外のソースからのアプリを許可する」を既に無効にしているはずです。

于 2010-04-06T14:15:09.330 に答える
1

これはうまく機能しない可能性が高いことに注意してください。ほとんどのデバイスでは、[マーケット以外のソースからのアプリを許可する] オプションが無効になっています ([設定] > [アプリケーション] の下)。

これは、アプリをインストールするインテントを起動すると、ユーザーに警告ダイアログが表示され、インストールが失敗することを意味します。

外部ソースと照合して新しい更新をチェックし (サーバー上のテキスト ファイルをチェックするなど)、ユーザーに通知することはできますが、アップグレードを行うために Android マーケット自体にリダイレクトします。

于 2010-04-06T13:18:27.670 に答える
1

誰もが言っているように、「市場以外のソースからのアプリを許可する」オプションは、ベータテスター以外の人々やそのような人々がさまざまな理由でこのオプションをチェックすることに興味がないため、あなたにとって本当に苦痛になる可能性があります. Testflight を試してみてください。 https://testflightapp.com/android/

于 2013-12-05T04:25:56.187 に答える