Как запретить другим приложениям Android получать доступ к моим действиям? - PullRequest
10 голосов
/ 24 июня 2011

У меня есть приложение для Android, в котором я определяю несколько различных действий в манифесте.У некоторых из этих действий есть фильтры намерений, которые я использую (например, ACTION_PICK).Эти действия из-за фильтров намерений отображаются, когда другие приложения запрашивают действие для обработки ACTION_PICK.Есть ли способ предотвратить это, чтобы мои действия не были доступны для других приложений?Я уже пытался установить android: exported = "false" в своей активности, но это ничего не сделало.

1 Ответ

16 голосов
/ 24 июня 2011

Вам необходимо:
* определить разрешение (которое доступно только для приложений с вашей подписью)
* определите, что ваше приложение использует указанное вами разрешение
* требуется разрешение на действия, которые вы хотите защитить. (Будьте осторожны, чтобы не требовать его для основной деятельности по запуску).

<!-- define a permission -->
<permission
    android:protectionLevel="signature"
    android:name="com.mypackage.MYPERMISSION"/>

<uses-permission android:name="com.mypackage.MYPERMISSION" />

<!-- define an activity which can only be started through internal code -->
<activity android:name="..."
          android:permission="com.mypackage.MYPERMISSION" >
    ...
</activity>
...