如何停止要从另一个应用程序访问的活动?

时间:2019-03-25 19:15:54

标签: android android-activity android-manifest

在我的应用中,我有两项活动:

<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 个答案:

答案 0 :(得分:2)

androidManifest活动代码中的AndroidManifest中的android:exported = false应该起作用

答案 1 :(得分:1)

只需三个步骤,您就可以做到。

  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>