我如何获取Android设备的唯一标识?

12 浏览
0 Comments

我如何获取Android设备的唯一标识?

这个问题已经有了答案:

可能是重复的:

是否有唯一的安卓设备ID?

我用下面的代码获取安卓设备IMEI,如何改变下面的代码以获取安卓设备的唯一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));
}

admin 更改状态以发布 2023年5月21日
0
0 Comments

在Android中,您可以获取三个不同的唯一标识。

  • IMEI(您已在代码中拥有此标识)

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

  • 设备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();
    

0