2

アプリのUuidを生成したいので、これに対して多くの方法を試しました。

1)を使用してデバイスのシリアル番号を取得しandroid.os.Build.SERIALます(これにより、結果として「不明」が返されます)

2)デバイスIDの処理(タブレットデバイスの場合に何が返されるかわかりません)

3)を使用してAndroid IDを取得するandroid.provider.Settings.Secure.ANDROID_ID(Android 2.2バージョンに問題があるようです)

4)を使用してUuidを生成するjava.util.UUID

android.os.Build5)プロパティを使用した疑似Uuidの生成

これらすべての方法はいくつかの問題を示しています。だから私はどちらを選ぶべきか混乱していますか?誰かが私に最良の方法を提案できますか?

Androidデベロッパーブログによると、AndroidIDは一意になります

また、デバイスのAndroid IDは、工場出荷時のリセットまたはOSの更新時に変更できると聞きました。

それで、工場出荷時のリセットまたはOSの更新中に生成された新しいAndroid IDが重複する可能性はありますか?

注意:条件を想定してください

私の質問は、同じメーカーの同じ2つのデバイスモデルが復元またはOSの更新の下で何が起こるかです。AndroidIDが変更されます。この新しいIDについて質問しています。両方のデバイスでAndroidIDが同じになる可能性はありますか?

4

3 に答える 3

1

ANDROID_ID、デバイスを初期化するたびに(リセット後などに)生成されます。モデルやシリアル番号などには依存しません。同じデバイスが2つある場合でも、ANDROID_IDリセット後のデバイスは異なるはずです。IDは、デバイスに対してグローバルであることを除いて、特に特別なものではありません。アプリのUUIDでも同じことができます。

于 2012-12-19T09:03:51.267 に答える
1

はい、IDが重複する可能性はありますが、ごくわずかです。

ANDROID_IDには2^64の可能な値があり、それらはいくつかのランダム関数で生成されます。ただし、値が重複する可能性はほとんどありません。GUIDの一意性に関するディスカッションを検索して、要点を把握してください。

つまり、ANDROID_IDは一意であると見なすことができます。

于 2012-12-19T09:03:39.723 に答える
0

Androidデバイス用の一意のIDの作成については、このリンクで活発に説明されています。簡単に言うと、これを使用してください。

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                        Secure.ANDROID_ID);
于 2012-12-19T08:15:27.460 に答える