ある Android デバイスでアプリを実行し、別の Android デバイスで同じアプリを実行しようとする場合、最初に別のデバイスであるかどうかを確認する必要があり、そうである場合は続行する必要があります。これを達成できる方法があれば教えてください。
ありがとうございました。
ある Android デバイスでアプリを実行し、別の Android デバイスで同じアプリを実行しようとする場合、最初に別のデバイスであるかどうかを確認する必要があり、そうである場合は続行する必要があります。これを達成できる方法があれば教えてください。
ありがとうございました。
これを使用できます:
telephonyManager = (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();
telephonyManager.getSimSerialNumber();
getDeviceIdgetSimSerialNumberデバイスごとに一意であるため、この値を確認でき ます
これを達成するには、問題は次のとおりです。
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 サービスにデバイスを登録する必要があります。
最初の実行時に共有設定にフラグを設定する
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();
}
ユーザーがアプリケーションをリセットすると、それもクリアされるリスクがあります。これで問題は解決しますか?