我有一个 Android 应用程序,我在 list 中定义了几个不同的 Activity 。其中一些 Activity 具有我使用的 Intent 过滤器(例如 ACTION_PICK)。由于 Intent 过滤器,这些 Activity 会在其他应用程序请求处理 ACTION_PICK 的 Activity 时出现。有什么方法可以防止这种情况发生,以便其他应用程序无法访问我的 Activity 吗?我已经尝试在我的 Activity 中设置 android:exported="false",但没有任何作用。
最佳答案
你需要:
* 定义一个权限(只对有你签名的应用可用)
* 定义您的应用程序使用您定义的权限
* 需要您希望保护的 Activity 的权限。 (注意不要将它用于您的主要启动 Activity )。
<!-- 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>
关于android - 如何阻止其他 Android 应用程序访问我的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6460559/