【问题标题】:Exported Activity Permission for AppWidget Configuration ActivityAppWidget 配置活动的导出活动权限
【发布时间】:2012-08-11 18:32:34
【问题描述】:

在我添加android:exported="true" 标记后,我在清单文件中收到了关于我的 AppWidget 配置活动的警告。就是这个样子……

<activity android:name=".widgets.WidgetConfigurationActivity"
              android:theme="@android:style/Theme.Translucent"
              android:exported="true" >
         <intent-filter>
               <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
         </intent-filter>
</activity>

我收到的警告是“导出的活动不需要许可”。据我了解,将exported 标签设置为 true 意味着与我的应用程序无关的另一个应用程序可以访问它(这很有意义,因为主屏幕启动器应用程序需要启动我的 AppWidget 的配置活动)。有谁知道我需要在这里添加什么样的权限才能使其不出错?

【问题讨论】:

    标签: android permissions manifest android-appwidget


    【解决方案1】:

    据我了解,将exported标签设置为true意味着与我的应用无关的另一个应用可以访问它

    正确。请注意,这里是多余的:拥有&lt;intent-filter&gt; 会使活动默认导出。

    有谁知道我需要在此处添加什么样的权限才能使其不出错?

    AFAIK,您不能保证主屏幕具有任何特定权限。

    恕我直言,这是一个错误的警告,that I filed a related issue for 应该有朝一日会修复。

    【讨论】:

    • 好的,非常感谢!我想我现在暂时忽略这个 lint 警告。
    【解决方案2】:

    您可以将属性android:exported="true" 更改为android:exported="false"

    这应该可以为您解决问题。

    【讨论】:

    • 如果他设置了 android:exported="false" 那么应用程序的用户将无法将小部件放在主屏幕上,因为启动器将无权启动 APPWIDGET_CONFIGURE 意图。
    • @Omar & jenzz 请删除或更新此答案,因为“这种情况”是错误的。
    猜你喜欢
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多