2017-10-06 114 views
0

我写了应该给我针对iOS设备的标识符的功能......但现在我要做的Android一样的...的Indentifier获得iOS设备的安卓(C#)

是否有身份证女巫在两个设备上?

其实我使用AdvertisingIdentifier。

private static string GetIdentifier() 
    { 
     if (ASIdentifierManager.SharedManager.IsAdvertisingTrackingEnabled) 
     { 
      return ASIdentifierManager.SharedManager.AdvertisingIdentifier.ToString(); 
     } 

     return null; 
    } 
+0

你想获得Android设备的UUID? –

+0

@ GraceFeng-MSFT如果可以的话,是的。 – Blanko

回答

1

因为我不知道你想要的是哪个ID,我写的代码三块如下:

//get unique number through TelephonyManager 
//use this method, we need to add android.permission.READ_PHONE_STATE permission 
var telephonymanager = this.GetSystemService(Context.TelephonyService) as TelephonyManager; 
var imsid = telephonymanager.SubscriberId; 
System.Diagnostics.Debug.WriteLine("imsid: " + imsid); 

//get mac address through WifiManager 
//use this method, we need to add android.permission.ACCESS_WIFI_STATE permission 
var wifimanager = this.GetSystemService(Context.WifiService) as WifiManager; 
var info = wifimanager.ConnectionInfo; 
var macaddress = info.MacAddress; 
System.Diagnostics.Debug.WriteLine("mac address: " + macaddress); 

//get Android_ID use Android Provider 
var deviceid = Android.Provider.Settings.Secure.GetString(this.ContentResolver, 
    Android.Provider.Settings.Secure.AndroidId); 
System.Diagnostics.Debug.WriteLine("device id: " + deviceid); 

第一个是得到的IMEI,MEID,ESN和IMSI手机,这是该硬件独有的。第二个是获取设备的MAC地址,最后一个是获取设备ID。

所有这些都可以用来识别设备,您可以为您的场景选择正确的设备。顺便说一句,对于需要的权限,我已经在代码块中进行了评论。

+0

非常感谢你! – Blanko