2

j2me アプリケーションの登録プロセスのために、普遍的に一意の ID を生成したいと考えています。私はそのための次のアプローチに出くわしました

  1. デバイスのIMEI 番号 Java ME で IMEI と IMSI を取得するこの方法は、ほとんどのデバイスでは機能しません。IMEIの問題は、ほとんどのモデルでMidletから入手するのはそれほど簡単ではありません.

  2. Bluetooth デバイス アドレスBluetoothアドレスの取得 問題 Bluetooth API のサポートが必要であり、アプリを実行できるデバイスの数が制限されます。

  3. UUID クラス 問題 javax.bluetooth パッケージにあるため Bluetooth API が必要 同じ問題

私の会社が Android アプリに使用する登録プロセスは次のとおりです。

  1. 顧客の携帯電話は、会社から提供された IMEI 番号とトークンを SMS を使用してサーバーに送信します。
  2. サーバーは、顧客のモバイルに保存されるライセンス キーを顧客のモバイルに送信します。

そして、j2meアプリケーションについても同じアプローチに従う必要があります

1 つの解決策は、SMS を介してサーバーから一意の ID を取得することです。しかし、会社は上記の登録プロセスを使用します。

アプリケーションの登録に使用できる他のアプローチはありますか、または上記の問題を克服する方法はありますか。

4

2 に答える 2

2

サーバーによって提供される一意の ID を持つ Jad キーが問題を解決するという @funkybro に同意します。しかし、それが不可能な場合は、移動時間とハッシュ コードに基づいて ID を作成します。

long time = System.currentTimeMillis();
StringBuffer id = new StringBuffer(Long.toString(time, 16).toUpperCase());
id.append(Integer.toHexString(new Object().hashCode()).toUpperCase());

この ID が重複している場合、登録プロセスは失敗し、アプリケーションは新しい ID を求められます。

于 2012-07-20T19:43:16.173 に答える
1

デプロイ時に、サーバーが生成した一意の ID を jad に入れることができます。

于 2012-07-20T19:09:42.330 に答える