为Android中的小部件启用小部件设置按钮?

时间:2019-10-26 21:27:26

标签: android android-widget

当我选择一个小部件时,三星的一个UI主屏幕显示了一些小部件的设置按钮,

enter image description here

但不是某些

enter image description here

想知道两者之间有什么区别,或者仅仅是OEM专有功能,因为我根本无法在POCO启动器或仿真器的启动器中找到菜单。

请注意,我已经在使用

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:configure=".WidgetConfigurationActivity"
    ...

在我的提供者中,并且在我的清单中

        <receiver ...>
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
        ...

但是这些只是在我添加小部件时添加配置,而不是在添加小部件之后添加的,并且在搜索网络时找不到答案。

1 个答案:

答案 0 :(得分:0)

我知道这个问题已有几个月的历史了,但我还是会回答。对三星应用程序进行反向工程后,我发现了“设置”按钮背后的秘密。

您只需将此元数据添加到您的应用小部件(<receiver>):

<meta-data android:name="android.appwidget.provider.semConfigureActivity" android:value="com.example.MySettingsActivity" />

完整示例:

<receiver android:name="com.example.MyWidget">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
    </intent-filter>
    <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_info"/>

    <!-- The secret sauce is here -->
    <meta-data android:name="android.appwidget.provider.semConfigureActivity" android:value="com.example.MySettings"/>
</receiver>

我的建议:我建议学习Android反向工程以实现未记录的功能。