2012-05-18 3 views
4

У меня есть некоторые разрешения для Android, которые я хотел бы знать, к которым относится уровень защиты PROTECTION LEVEL. Кто-нибудь знает, как это можно проверить? Например, мне нужно знать уровень защиты android.permission.RECEIVE_BOOT_COMPLETED, но я хотел бы проверить еще много.Определение уровня разрешения для Android

EDIT:

Я вижу, что я не ставил это ясно: То, что я имею в виду не уровень API, с которым было введено разрешение, но уровень защиты разрешение, один из четырех: Нормальный, Dangerous, Signeture, Signature or System. Он определяет, например, как это разрешение предоставляется пользователю во время установки приложения. Как я могу проверить, к какому уровню защиты относится определенное разрешение?

ответ

0

Android-Permission Для ..

  • Для обеспечения соблюдения прав доступа, различные части системы вызова механизма проверки на разрешения проверить, имеет ли данное приложение с specied разрешения. Механизм проверки разрешений - , реализованный как часть процесса надежной системы, а вызовы механизма проверки разрешений распространяются по всему API. Нет централизованной политики проверки разрешений при вызове API . Скорее, посредничество зависит от правильного размещения вызовов .

    enter image description here

  • проверки разрешений помещаются в реализации API в процессе системы. При необходимости реализация API вызывает механизм проверки разрешений , чтобы проверить, что вызывающее приложение имеет необходимые разрешения. В некоторых случаях библиотека API также может избыточно проверять эти разрешения, но на такие проверки нельзя полагаться: приложения могут обходить их напрямую, , взаимодействуя с системным процессом через заглушки RPC. Поэтому разрешения не должны встречаться в библиотеке API. Вместо этого реализация API в системном процессе должна ссылаться на механизм разрешения .

Также просто пройти через эти документы для получения дополнительной информации Android-Permission

+0

Я думаю, что я описал это в каком-то более глубоком уровне .. – user370305

+0

Спасибо. Я уже знаю этот материал о разрешениях. Я исправил этот вопрос, чтобы уточнить мои намерения. Проверьте, знаете ли вы ответ. – k4b

+0

@ user370305 Слишком сложно понять. Можете ли вы упростить его? –

1

В this link вы можете увидеть все разрешения андроида. Уровень вы отмечаете его здесь:

+0

Спасибо, но это не то, что я имел в виду. Я исправил вопрос выше, поэтому, если у вас есть какое-то представление об этом, я был бы признателен за помощь :) – k4b

+0

Изображение не видно – Gattsu

4
getPackageManager().getPermissionInfo(name, 0).protectionLevel 
6

список разрешений по умолчанию с соответствующими уровнями защиты можно найти в последнем источнике здесь:

https://github.com/android/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml

Пример:

<permission android:name="android.permission.INTERNET" 
    android:permissionGroup="android.permission-group.NETWORK" 
    android:protectionLevel="dangerous" 
    android:description="@string/permdesc_createNetworkSockets" 
    android:label="@string/permlab_createNetworkSockets" /> 

Имейте в виду, что они могут быть изменены OEM.

Смежные вопросы