u0u0 / Quick-Cocos2dx-Community

Cocos2d-Lua 社区版
http://www.cocos2d-lua.org
552 stars 256 forks source link

Android Q 下 getUDID 发生 SecurityException 异常 #128

Open shengdoushi opened 5 years ago

shengdoushi commented 5 years ago

应该是与 Android Q 的隐私权有关: https://developer.android.com/preview/privacy/data-identifiers#device-ids

shengdoushi commented 5 years ago

当 android 项目的 目标改为 29 时,会发生.

shengdoushi commented 5 years ago

mTelephonyManager.getDeviceId() 时发生异常

shengdoushi commented 5 years ago

另一个问题是 在 Android 6.0(API 级别 23)及更高版本中,本地设备 MAC 地址(例如 WLAN 和蓝牙)无法通过第三方 API 获取。WifiInfo.getMacAddress() 方法和 BluetoothAdapter.getDefaultAdapter().getAddress() 方法都会返回 02:00:00:00:00:00。

所以 android 上的 getOpenUDID() 现有的两种方案(获取手机识别码和mac地址), 想要获取持久化的UDID比较难了

chgowolf commented 5 years ago

可以考虑使用阿里的UTDID库,安卓和IOS都支持