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