android - 如何阻止其他 Android 应用程序访问我的 Activity

标签 android android-manifest

我有一个 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/

相关文章:

java - 在 Android 上运行 libgdx 应用程序时出现异常

Android - 内部数据保存 getFilesDir()?

java - 应用程序可以在模拟器上运行,但不能在实际设备上运行

android - 可疑的尺寸这将使 View 不可见(在子布局中)

Android Edittext 左上角和右上角仅四舍五入

java - 如何在android中为搜索框设置动画

java - 我试图每小时进行一次通知,但想从数据库中填充,我有工作代码,但下一次通知最多不到一小时

android - Flutter AndroidManifest 错误

Android显示没有 list 权限的拨号盘

android - 限制应用程序仅安装在特定的 imei android 设备上