获取iOS设备的Android标识符(C#)

Posted

技术标签:

【中文标题】获取iOS设备的Android标识符(C#)【英文标题】:Get Indentifier of Android of iOS device (C#) 【发布时间】:2017-10-06 12:24:02 【问题描述】:

我已经编写了一个函数,它应该给我一个 ios 设备的标识符......但现在我必须为 android 做同样的事情......

两台设备上都有 Id 女巫吗?

其实我在使用 AdvertisingIdentifier。

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

        return null;
    

【问题讨论】:

你想获取android设备的UUID? @GraceFeng-MSFT 如果可能的话,是的。 【参考方案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。

所有这些都可以用来识别设备,您可以根据自己的场景选择合适的设备。顺便说一句,对于所需的权限,我已经在代码块中注释了。

【讨论】:

以上是关于获取iOS设备的Android标识符(C#)的主要内容,如果未能解决你的问题,请参考以下文章

iOS 和 Android 的移动设备唯一性

Android 设备唯一标识

iOS获取设备唯一标识的8种方法

Swift:如何以编程方式获取iOS设备的唯一标识符?

2020-09-07 手机设备唯一标识

iOS 设备获取唯一标识符汇总