Относительно разрешений Android и уровня защиты подписи - PullRequest
8 голосов
/ 28 июня 2010

Я новичок в Android и у меня есть вопрос относительно уровня защиты "Подпись" для разрешений в AndroidManifest.xml.

В справочном документе Android говорится об уровне защиты «Подпись»:

Разрешение, которое система предоставляет, только если запрашивающее приложение подписано тем же сертификатом, что и приложение, которое объявилоразрешение.Если сертификаты совпадают, система автоматически предоставляет разрешение, не уведомляя пользователя и не запрашивая явного одобрения пользователя.

Это означает, что разрешения с уровнем защиты «Подпись» недоступны для использования обычным способом.приложение и может использоваться только Android Dev Team.

Что меня интересует, так это то, сколько приложений в Android Market или на других сайтах могут иметь эти разрешения?Как и приложение, которое используется для записи звонков, имеет android.permission.DEVICE_POWER в дополнение к другим разрешениям.Действительно ли система Android предоставляет это разрешение этому приложению во время установки?

Когда я пытался использовать разрешение «READ_INPUT_STATE» (новое в 2.2), я получил следующую ошибку в LogCat:

06-28 09: 28: 34.943: WARN / PackageManager (60): Не предоставление разрешения android.permission.READ_INPUT_STATE для пакета com.example.whedoyoulive (protectionLevel = 2 flags = 0x8444)

То же самое верно для разрешений сУровень защиты "SignatureOrSystem".Существует приложение вызывающей стороны, которое имеет разрешение CALL_PRIVILEGED в дополнение к другим разрешениям.

Пожалуйста, помогите мне и проясните мои сомнения.

С уважением

Абхишек

Ответы [ 2 ]

5 голосов
/ 28 июня 2010

Я полагаю, что цель уровня разрешений «Подпись» состоит в том, чтобы два приложения одного и того же разработчика могли беспрепятственно обмениваться данными, не беспокоя пользователя.Разрешение READ_INPUT_STATE не предназначено для использования в приложениях:

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

См. http://developer.android.com/reference/android/Manifest.permission.html#READ_INPUT_STATE

0 голосов
/ 24 апреля 2013

Facebook home использует это,

как только вы установите его, вы заметите, что он не запрашивает ЛЮБЫХ разрешений, но явно требует, чтобы приложение facebook было установлено, чтобы система могла предоставитьнеобходимые разрешения по доверенности приложения Facebook.

Обычно происходит то, что происходит приложение Facebook с возможностями рекламы других приложений для чтения вашего статуса и новостной ленты, обычно эти приложения должны явно запрашивать разрешение на их использование, еслиони подписаны под другим сертификатом или, скорее, закрытым ключом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...