3

ある Android デバイスでアプリを実行し、別の Android デバイスで同じアプリを実行しようとする場合、最初に別のデバイスであるかどうかを確認する必要があり、そうである場合は続行する必要があります。これを達成できる方法があれば教えてください。

ありがとうございました。

4

3 に答える 3

2

これを使用できます:

telephonyManager = (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();
telephonyManager.getSimSerialNumber();

getDeviceIdgetSimSerialNumberデバイスごとに一意であるため、この値を確認でき ます

于 2013-02-06T08:56:49.793 に答える
0

これを達成するには、問題は次のとおりです。

How can we differentiate, if we are installing app,
first time on 1st device or first time on second device.
so for that we have to use a unique key for app to run 
on each different device.
So that before saving shared pref,
we can validate the unique key for that device. 

ここでの質問は、ユーザーが一意のキーを取得する方法です。したがって、アプリケーション ベンダーが各デバイスにキーを提供すると仮定します。ただし、そのためには、アプリには、提供されたキーを検証するためのアルゴリズムが必要です。

残念ながら、ベンダーがキーを提供する場合、ユーザーはそのキーを使用して別のデバイスにインストールすることもできます。

SO 最終的な解決策は、アプリを最初に実行する前です。アクティブ化のために、一部の Web サービスにデバイスを登録する必要があります。

于 2013-02-06T14:50:50.407 に答える
-1

最初の実行時に共有設定にフラグを設定する

SharedPreferences preferences = getSharedPreferences("PREF_NAME", 0);
boolean onlyonce = preferences.getBoolean("FLAG_NAME", false);

if (!onlyonce ) {
   SharedPreferences.Editor editor = preferences.edit();
   editor.putBoolean("FLAG_NAME", true);
   editor.commit();
}

ユーザーがアプリケーションをリセットすると、それもクリアされるリスクがあります。これで問題は解決しますか?

于 2013-02-06T08:57:36.863 に答える