如何防止其他应用程序访问我的窗口小部件提供商

时间:2020-02-11 17:04:47

标签: android android-intent android-widget android-broadcast

我有在清单中声明的​​窗口小部件提供程序,如下所示:

            <receiver
            android:name=".widget.MyWidgetProvider"
            android:enabled="true"
            android:label="@string/widget_label">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>

            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/my_buttons" />
            </receiver>

如何阻止其他应用程序以明确的意图访问我的窗口小部件提供程序?我无法设置android:exported="false",因为根据文档android.appwidget.action.APPWIDGET_UPDATE需要从外部可用。

更新:我错了。显然,设置android:exported="false"是可以的,这有点令人困惑,因为无论如何都必须声明意图过滤器android.appwidget.action.APPWIDGET_UPDATE

0 个答案:

没有答案