Как остановить доступ к активности из другого приложения? - PullRequest
0 голосов
/ 25 марта 2019

В моем приложении у меня есть два действия:

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity android:name=".SecondActivity"/>

Так что мой SecondActivity может быть доступен из другого приложения.Я думаю, что это проблема безопасности, так как я могу это остановить?Это как-то связано с экспортированной установкой?

Ответы [ 2 ]

2 голосов
/ 25 марта 2019

android: exported = false в AndroidManifest внутри тега активности должен работать

1 голос
/ 25 марта 2019

Вы можете сделать это за три шага.

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

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

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

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