在Android 12及以上版本中,工作档案的设备标识方法已发生变化。在早期的Android版本中,可以使用以下代码获取设备标识符:
String myDeviceId = Settings.Secure.getString(mContext.getContentResolver(), Settings.Secure.ANDROID_ID);
但在Android 12工作档案中,上述代码将返回相同的设备ID,无论是在工作档案还是在个人档案中调用。这样将导致你无法区分工作档案设备和个人设备。
为了区分设备ID,需要使用以下代码:
String myDeviceId = UserManager.get(mContext).getSerialNumberForUser(Process.myUserHandle());
这将为工作档案返回不同的设备ID。
注意:需要保证应用已经请求了QUERY_ALL_PACKAGES权限。
上一篇:Android12点击通知无法在onNewIntent()中获取数据负载
下一篇:Android12构建错误:针对S+(版本31及以上)的目标需要FLAG_IMMUTABLE或FLAG_MUTABLE之一。