Как решить? «Java SecurityException: UID 11222 не имеет доступа к идентификаторам устройств» ⇐ Android
Как решить? «Java SecurityException: UID 11222 не имеет доступа к идентификаторам устройств»
Сообщение об ошибке java.lang.SecurityException: getMeidForSlot: uid 11222 не соответствует требованиям для доступа к идентификаторам устройств предполагает, что у приложения нет необходимых разрешений для доступа к этому конкретному идентификатору устройства (MEID) для данного UID. (Идентификатор пользователя) 11222. Это ограничение может быть связано с изменениями в разрешениях Android, когда для доступа к определенной конфиденциальной информации могут потребоваться специальные разрешения, которыми приложение не обладает.
Я использую этот код:
private Map getSimInfo() { Map simInfo = new HashMap(); пытаться { SubscriptionManager subsManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE); List subsList = subsManager.getActiveSubscriptionInfoList(); если (subsList!= ноль) { for (SubscriptionInfo subsInfo: subsList) { Строка iccid = subsInfo.getIccId(); если (iccid != ноль) { simInfo.put("ICCID" + subsInfo.getSimSlotIndex(), iccid); } } } Строка androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID); simInfo.put("AndroidID", androidId != null ? androidId : "Н/Д"); simInfo.put("MEID","Н/Д"); simInfo.put("IMEI","Н/Д"); TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); Строка meid = telephonyManager.getSimSerialNumber(); simInfo.put("MEID", meid != null ? meid : "Н/Д"); if (getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY_GSM)) { пытаться { Строка imei = telephonyManager.getImei(); Log.d("ДАННЫЕ IMEI", imei); simInfo.put("IMEI", imei != null ? imei : "Н/Д"); } catch (SecurityException e) { handleException("Доступ по IMEI запрещен", e); } } } catch (SecurityException e) { handleException("Доступ по IMEI запрещен", e); } catch (Исключение е) { handleException("Произошла ошибка", e); } вернуть симинформацию; } Разрешения моего приложения в AndroidManifest:
У меня возникла ошибка такого типа:
Ошибка E/SecurityException (29502): Исключение безопасности: доступ по IMEI запрещен. Ошибка E/SecurityException (29502): java.lang.SecurityException: getMeidForSlot: uid 11222 не соответствует требованиям для доступа к идентификаторам устройств. Ошибка E/SecurityException (29502): в android.os.Parcel.createExceptionOrNull(Parcel.java:3023) Ошибка E/SecurityException (29502): в android.os.Parcel.createException (Parcel.java:3007) Ошибка E/SecurityException (29502): в android.os.Parcel.readException(Parcel.java:2990) Ошибка E/SecurityException (29502): в android.os.Parcel.readException(Parcel.java:2932) Ошибка E/SecurityException (29502): на com.android.internal.telephony.ITelephony$Stub$Proxy.getMeidForSlot(ITelephony.java:10794) Ошибка E/SecurityException (29502): в android.telephony.TelephonyManager.getMeid(TelephonyManager.java:2898) Ошибка E/SecurityException (29502): в android.telephony.TelephonyManager.getMeid(TelephonyManager.java:2855) Ошибка E/SecurityException (29502): в com.example.sim_iccid_demo.MainActivity.getIccidList(MainActivity.kt:50) Ошибка E/SecurityException (29502): в com.example.sim_iccid_demo.MainActivity.configureFlutterEngine$lambda-0(MainActivity.kt:24) Ошибка E/SecurityException (29502): в com.example.sim_iccid_demo.MainActivity.$r8$lambda$8Tzl3un6utopCfe_BwLm26cMOFo (неизвестный источник: 0) Ошибка E/SecurityException (29502): в com.example.sim_iccid_demo.MainActivity$$ExternalSyntheticLambda0.onMethodCall (неизвестный источник: 2) Ошибка E/SecurityException (29502): в io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:258) Ошибка E/SecurityException (29502): в io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) Ошибка E/SecurityException (29502): в io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322) Ошибка E/SecurityException (29502): в io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run (неизвестный источник: 12) Ошибка E/SecurityException (29502): в android.os.Handler.handleCallback(Handler.java:942) Ошибка E/SecurityException (29502): в android.os.Handler.dispatchMessage(Handler.java:99) Ошибка E/SecurityException (29502): в android.os.Looper.loopOnce(Looper.java:226) Ошибка E/SecurityException (29502): в android.os.Looper.loop(Looper.java:313) Ошибка E/SecurityException (29502): в android.app.ActivityThread.main(ActivityThread.java:8757) Ошибка E/SecurityException (29502): в java.lang.reflect.Method.invoke (собственный метод) Ошибка E/SecurityException (29502): в com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) Ошибка E/SecurityException (29502): на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067) Я столкнулся с ошибкой `java.lang.SecurityException: getMeidForSlot: uid 11222 не соответствует требованиям для доступа к идентификаторам устройств` в моем Java-приложении. Я работаю над информацией о SIM-карте и устройстве. Стек кода указывает на сбой, возникающий в методе getIccidList класса MainActivity, в частности в методе getMeid или getMeidForSlot класса TelephonyManager, который отвечает за обработку функций, связанных с телефонией.
Сообщение об ошибке java.lang.SecurityException: getMeidForSlot: uid 11222 не соответствует требованиям для доступа к идентификаторам устройств предполагает, что у приложения нет необходимых разрешений для доступа к этому конкретному идентификатору устройства (MEID) для данного UID. (Идентификатор пользователя) 11222. Это ограничение может быть связано с изменениями в разрешениях Android, когда для доступа к определенной конфиденциальной информации могут потребоваться специальные разрешения, которыми приложение не обладает.
Я использую этот код:
private Map getSimInfo() { Map simInfo = new HashMap(); пытаться { SubscriptionManager subsManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE); List subsList = subsManager.getActiveSubscriptionInfoList(); если (subsList!= ноль) { for (SubscriptionInfo subsInfo: subsList) { Строка iccid = subsInfo.getIccId(); если (iccid != ноль) { simInfo.put("ICCID" + subsInfo.getSimSlotIndex(), iccid); } } } Строка androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID); simInfo.put("AndroidID", androidId != null ? androidId : "Н/Д"); simInfo.put("MEID","Н/Д"); simInfo.put("IMEI","Н/Д"); TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); Строка meid = telephonyManager.getSimSerialNumber(); simInfo.put("MEID", meid != null ? meid : "Н/Д"); if (getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY_GSM)) { пытаться { Строка imei = telephonyManager.getImei(); Log.d("ДАННЫЕ IMEI", imei); simInfo.put("IMEI", imei != null ? imei : "Н/Д"); } catch (SecurityException e) { handleException("Доступ по IMEI запрещен", e); } } } catch (SecurityException e) { handleException("Доступ по IMEI запрещен", e); } catch (Исключение е) { handleException("Произошла ошибка", e); } вернуть симинформацию; } Разрешения моего приложения в AndroidManifest:
У меня возникла ошибка такого типа:
Ошибка E/SecurityException (29502): Исключение безопасности: доступ по IMEI запрещен. Ошибка E/SecurityException (29502): java.lang.SecurityException: getMeidForSlot: uid 11222 не соответствует требованиям для доступа к идентификаторам устройств. Ошибка E/SecurityException (29502): в android.os.Parcel.createExceptionOrNull(Parcel.java:3023) Ошибка E/SecurityException (29502): в android.os.Parcel.createException (Parcel.java:3007) Ошибка E/SecurityException (29502): в android.os.Parcel.readException(Parcel.java:2990) Ошибка E/SecurityException (29502): в android.os.Parcel.readException(Parcel.java:2932) Ошибка E/SecurityException (29502): на com.android.internal.telephony.ITelephony$Stub$Proxy.getMeidForSlot(ITelephony.java:10794) Ошибка E/SecurityException (29502): в android.telephony.TelephonyManager.getMeid(TelephonyManager.java:2898) Ошибка E/SecurityException (29502): в android.telephony.TelephonyManager.getMeid(TelephonyManager.java:2855) Ошибка E/SecurityException (29502): в com.example.sim_iccid_demo.MainActivity.getIccidList(MainActivity.kt:50) Ошибка E/SecurityException (29502): в com.example.sim_iccid_demo.MainActivity.configureFlutterEngine$lambda-0(MainActivity.kt:24) Ошибка E/SecurityException (29502): в com.example.sim_iccid_demo.MainActivity.$r8$lambda$8Tzl3un6utopCfe_BwLm26cMOFo (неизвестный источник: 0) Ошибка E/SecurityException (29502): в com.example.sim_iccid_demo.MainActivity$$ExternalSyntheticLambda0.onMethodCall (неизвестный источник: 2) Ошибка E/SecurityException (29502): в io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:258) Ошибка E/SecurityException (29502): в io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) Ошибка E/SecurityException (29502): в io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:322) Ошибка E/SecurityException (29502): в io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run (неизвестный источник: 12) Ошибка E/SecurityException (29502): в android.os.Handler.handleCallback(Handler.java:942) Ошибка E/SecurityException (29502): в android.os.Handler.dispatchMessage(Handler.java:99) Ошибка E/SecurityException (29502): в android.os.Looper.loopOnce(Looper.java:226) Ошибка E/SecurityException (29502): в android.os.Looper.loop(Looper.java:313) Ошибка E/SecurityException (29502): в android.app.ActivityThread.main(ActivityThread.java:8757) Ошибка E/SecurityException (29502): в java.lang.reflect.Method.invoke (собственный метод) Ошибка E/SecurityException (29502): в com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) Ошибка E/SecurityException (29502): на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067) Я столкнулся с ошибкой `java.lang.SecurityException: getMeidForSlot: uid 11222 не соответствует требованиям для доступа к идентификаторам устройств` в моем Java-приложении. Я работаю над информацией о SIM-карте и устройстве. Стек кода указывает на сбой, возникающий в методе getIccidList класса MainActivity, в частности в методе getMeid или getMeidForSlot класса TelephonyManager, который отвечает за обработку функций, связанных с телефонией.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
SecurityException: вызывающий uid не имеет разрешения на доступ к URI средства выбора
Anonymous » » в форуме Android - 0 Ответы
- 41 Просмотры
-
Последнее сообщение Anonymous
-