3

利用可能な更新バージョンがある場合は、ログイン前にアプリケーションを強制的に更新しようとしています。更新を確認してデバイスにアプリケーションをインストールできます。古いバージョンを更新されたバージョンに置き換えます。このプロセスの最後に、手動ではなく自動的にアプリケーションを開いたり呼び出したりします(アプリケーションを手動で開くことができます)。 sqliteデータベースを使用して、アプリケーションまたはアプリケーションを強制的に呼び出す他のAPKからのデータを維持することはできません。

どんな提案も非常に高く評価されます。

ありがとう。


サーバーから新しいapkファイルをインストールすることでアプリケーションを更新できると質問で述べたように、Androidマーケットがインストールを処理し、アプリケーションを呼び出すように要求することも知っていますが、私の場合はステージングサーバーで同じことを行う必要がありますプロセスごとにアプリケーションをテストします。ステージングサーバーからアプリケーションの更新とインストールを確認できます。更新されたapkインストールでは、古いバージョンがアンインストールされ、新しいバージョンのアプリケーションを呼び出す必要がありません。

どんな提案も認められるでしょう。

4

2 に答える 2

1

アプリからWebサービスを簡単に呼び出して、新しいバージョンが利用可能かどうかを確認し、Androidブラウザーを介してダウンロードするようにユーザーに指示することができます。このアプローチの利点の1つは、市場でサポートされているすべての「ビッグバン」アプローチではなく、アップグレード率をある程度制御できることです。

何かのようなもの

http://example.com/update.jsp?versionCode=3

ここで、versionCodeはマニフェストバージョンから取得されます。次に、サービスに空白(更新なし)を返すか、ユーザーが新しいapkを取得するように指示する必要があるURLを返します。

あなたはからのバージョンコードを持つことができます

        getPackageManager().getPackageInfo(getPackageName(), 0).versionCode 

URLにアクセスするための新しいインテントをトリガーしてください。その後、ユーザーはapkをダウンロードするブラウザに送信されます

于 2012-12-07T06:00:15.990 に答える
0

アプリの最初に、ユーザーのバージョンが古いかどうかを追跡する方法の API が必要です。

たとえば、アプリの現在のバージョンを次のような API に送信しています。

String version = String.valueOf(BuildConfig.VERSION_CODE);

response.body().isUpdateRequired() が true の場合、次のアラートを呼び出す必要があります。

AlertDialog.Builder alertDialog = new AlertDialog.Builder(SplashActivity.this);
                alertDialog.setTitle("Please update your app");
                alertDialog.setMessage("This app version is not supported any longer. Please update your app from the Play Store.");
                alertDialog.setPositiveButton("UPDATE NOW", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        final String appPackageName = getPackageName();
                        try {
                            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
                        } catch (android.content.ActivityNotFoundException anfe) {
                            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName)));
                        }
                    }
                });
                alertDialog.show();
于 2017-07-03T13:29:00.620 に答える