android - 如何获得 Android 设备的唯一 ID?

标签 android

<分区>

Possible Duplicate:
Is there a unique Android device ID?

我使用下面的代码获取 android 设备的 IMEI 以及如何更改下面的代码以获取 android 设备的唯一 ID。

String getDeviceID1(TelephonyManager phonyManager){
    String id = phonyManager.getDeviceId();
    if (id == null){
        id = "not available";
    }
    int phoneType = phonyManager.getPhoneType();
    switch(phoneType){
        case TelephonyManager.PHONE_TYPE_NONE:
            return "" + id;

        case TelephonyManager.PHONE_TYPE_GSM:
            return "" + id;

        case TelephonyManager.PHONE_TYPE_CDMA:
            return "" + id;

        /*
        *  for API Level 11 or above
        *  case TelephonyManager.PHONE_TYPE_SIP:
        *   return "SIP";
        */

        default:
            return "" + id;
    }

    //I used to show IMEI 

    TextView textDeviceID = (TextView)findViewById(R.id.deviceid);
    //retrieve a reference to an instance of TelephonyManager
    TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    textDeviceID.setText(getDeviceID1(telephonyManager));
}

最佳答案

在 Android 中,您可以获得三种不同的 Unique Id。

  • IMEI(您的代码中已有)

    TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    String id =  (getDeviceID1(telephonyManager));
    
  • Device ID

    String android_id = Secure.getString(getContext().getContentResolver(),
                                                    Secure.ANDROID_ID); 
    
  • 蓝牙地址(这对于每个设备也是唯一的)

    private BluetoothAdapter mBtAdapter;
    
    // Get the local Bluetooth adapter
    mBtAdapter = BluetoothAdapter.getDefaultAdapter();
    String deviceMacAddress = mBtAdapter.getAddress();
    

关于android - 如何获得 Android 设备的唯一 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12190256/

相关文章:

android - Firebase 用户名/密码身份验证 - 一次只允许一台设备登录

android - Ionic - 启用 GPS

c# - TaskCompletionSource 和 dismiss 导致多个自定义警报对话框没有出现

java - 如何创建第二个类并将Test设置为TextView?

java - 在重新启动 Activity 之前延迟动画

php - 将 Android 连接到 MySQL

android - 错误 :com. android.builder.dexing.DexArchiveBuilderException : Failed to process guava-21. 0.jar Android 3.1 Dev Channel

android - 如何在我的 Android 应用程序上固定 IP 地址?

java - 当我的所有线程在 android 中完成时,我如何执行函数?

Android ListFragment 错误