我已经编写了一个函数,应该为 iOS 设备提供一个标识符......但现在我必须为 Android 设备做同样的事情......
两个设备上是否都有 Id 女巫?
实际上我正在使用 AdvertisingIdentifier。
private static string GetIdentifier()
{
if (ASIdentifierManager.SharedManager.IsAdvertisingTrackingEnabled)
{
return ASIdentifierManager.SharedManager.AdvertisingIdentifier.ToString();
}
return null;
}
最佳答案
因为我不知道你到底想要哪个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。
它们都可以用来识别设备,您可以根据自己的场景选择合适的。顺便说一句,对于需要的权限,我已经在代码块中进行了注释。
关于c# - 获取 iOS 设备的 Android 标识符 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46605679/