【问题标题】:Secure Activities - no permission安全活动 - 无权限
【发布时间】:2021-09-24 19:37:06
【问题描述】:

以下内容可在https://www.oreilly.com/library/view/application-security-for/9781449322250/ch04.html上找到

带有注释“要启动一个Activity需要一定的权限,你需要在AndroidManifest.xml中的特定Activity的条目中添加权限属性。”

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.example.testapps.test1">
 ...
    <activity android:name=".Activity1"
              android:permission="com.example.testapps.test1.permission.START_ACTIVITY1">
              <intent-filter>
                 ...
              </intent-filter>
    </activity>
  ...
</manifest>

如果我想阻止启动活动,我该怎么办?不设置权限似乎让activity在没有任何权限的情况下启动...

【问题讨论】:

    标签: android android-activity android-permissions


    【解决方案1】:

    如果您不想启动 Activity,请使用以下命令将其标记为已禁用。

    android:enabled="false"
    

    【讨论】:

      【解决方案2】:

      如果我想阻止启动活动怎么办?

      删除&lt;intent-filter&gt;。您的 &lt;intent-filter&gt; 说“我希望其他应用程序启动此活动”。没有&lt;intent-filter&gt; 的活动仍然可以由您的应用启动,用于PendingIntent 对象等。

      【讨论】:

      • 据我了解,删除意图过滤器的文章使所有应用程序都可以启动意图?例如 - url_launcher_plugin 可以在没有明确权限的情况下启动 WebViewActivity: schemas.android.com/apk/res/android" package="io.flutter.plugins.urllauncher">
      • @derChris:“据我了解,删除意图过滤器的文章使所有应用程序都可以启动意图?” - 不。 “作为示例”——该活动不仅缺少&lt;intent-filter&gt;,而且还被标记为android:exported="false"android:exported="false" 是没有&lt;intent-filter&gt;&lt;activity&gt; 的默认值,但在Android 12 及更高版本上,我们应该在每个&lt;activity&gt; 上提供android:exported
      猜你喜欢
      • 1970-01-01
      • 2011-03-25
      • 2012-06-07
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      相关资源
      最近更新 更多