4

android.os.Buildクラスの固定プロパティのリストが必要です。ここからリストを取得しました。修正されていることがわかっているものは太字にしています。修正とは、ファームウェアの更新、工場出荷時のリセットなどによる変更がないことを意味します...

  1. android.os.Build.VERSION.RELEASE //現在の開発コードネーム、またはこれがリリース ビルドの場合は文字列「REL」。

  2. android.os.Build.BOARD //「goldfish」などの基盤となるボードの名前。

  3. android.os.Build.BOOTLOADER // システムのブートローダーのバージョン番号。

  4. android.os.Build.BRAND //ソフトウェアがカスタマイズされているブランド (キャリアなど)。

  5. android.os.Build.CPU_ABI //ネイティブ コードの命令セットの名前 (CPU タイプ + ABI 規則)。

  6. android.os.Build.CPU_ABI2 // ネイティブ コードの 2 番目の命令セット (CPU タイプ + ABI 規則) の名前。

  7. android.os.Build.DEVICE // 工業デザインの名前。

  8. android.os.Build.DISPLAY //ユーザーに表示するためのビルド ID 文字列

  9. android.os.Build.FINGERPRINT //このビルドを一意に識別する文字列。

  10. android.os.Build.HARDWARE //ハードウェアの名前 (カーネル コマンド ラインまたは /proc から)。

  11. android.os.Build.HOST

  12. android.os.Build.ID //チェンジリスト番号、または「M4-rc20」のようなラベル。

  13. android.os.Build.MANUFACTURER //製品/ハードウェアのメーカー。

  14. android.os.Build.MODEL //エンド ユーザーに表示される最終製品の名前。

  15. android.os.Build.PRODUCT //製品全体の名前。

  16. android.os.Build.TAGS //「unsigned,debug」など、ビルドを説明するコンマ区切りのタグ。

  17. android.os.Build.TYPE //「user」や「eng」などのビルドのタイプ。

  18. android.os.Build.USER

リストを完成させるのを手伝ってください

4

3 に答える 3

2

Buildマークが保証された答えがない理由を説明したように、一貫性を持って問題に対処するつもりはありません。代わりに、あなたの目的と意図に応えたいと思います。

私の理解が正しければ、単一のデバイスを一意に識別しようとしています。最初にこの回答を指摘します。この回答から、一般的な解決策は不可能であると簡単に結論付けることができます。工場出荷時のデフォルトにリセットするか、SIM カードを切り替える (デバイスに搭載されている場合) と、あらゆる種類の一意の ID が変更され、アプリが別のユーザーであると認識されます。

何を達成しようとしているのかを再考する必要があります。デバイスを一意に識別する必要があるのはなぜですか? ユーザーを識別しようとしている場合、この考え方は複数のデバイスにも対応していません。これは、デバイスが複数のユーザーをサポートする可能性がある Jellybean 4.2 の場合に特に当てはまります。Android Developers Blog のこの洞察に満ちたブログ投稿も参照してください。

ユーザーに自分の Google アカウントを関連付けてもらうことはできますか? または、独自のサービスを説明しますか? ユーザーを特定できれば、 を介して個々のデバイスを特定するのは簡単UUID.randomUUID()です。

于 2012-11-15T10:56:13.740 に答える
1

私が正しく理解している場合(フォローアップコメントに関して)、何らかの登録またはログインメカニズムを統合せずにデバイスを識別したいと考えています。

独自の ID 計算アルゴリズムを実装する代わりに、Android 用の OpenUDID 実装を使用することをお勧めします ( https://github.com/vieux/OpenUDIDを参照)。

于 2012-11-18T10:07:19.557 に答える