You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WidgetConfigActivity中获取Widget Provider名称?

配置共用同一配置Activity的多个App Widget

看来你需要给两个不同的Widget(Small Widget和Big Widget)共用同一个WidgetConfigActivity,我帮你整理了完整的AndroidManifest.xml配置示例和核心要点:

完整的Manifest配置代码

<!-- Small Widget 接收器配置 -->
<receiver 
    android:name=".SmallWidgetProvider" 
    android:icon="@drawable/small_widget_icon" 
    android:label="@string/small_widget">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    </intent-filter>
    <meta-data 
        android:name="android.appwidget.provider" 
        android:resource="@xml/widget_small_info" />
</receiver>

<!-- Big Widget 接收器配置 -->
<receiver 
    android:name=".BigWidgetProvider" 
    android:icon="@drawable/big_widget_icon" 
    android:label="@string/big_widget">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    </intent-filter>
    <meta-data 
        android:name="android.appwidget.provider" 
        android:resource="@xml/widget_big_info" />
</receiver>

<!-- 共用的配置Activity -->
<activity android:name=".WidgetConfigActivity">
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
    </intent-filter>
</activity>

核心配置说明

  • 每个Widget单独声明接收器:Small和Big Widget需要各自的AppWidgetProvider子类(也就是SmallWidgetProvider和BigWidgetProvider),对应独立的<receiver>标签,分别指定自己的图标、名称和Widget信息配置文件(widget_small_info.xml和widget_big_info.xml)。
  • 配置Activity的通用处理逻辑:在WidgetConfigActivity中,你需要区分当前配置的是哪个Widget:
    1. 通过getIntent().getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID)获取当前要配置的Widget ID
    2. 调用AppWidgetManager.getInstance(this).getAppWidgetInfo(appWidgetId)拿到Widget的信息,通过widgetInfo.provider或者配置文件里的自定义属性来判断是Small还是Big Widget,再加载对应的配置UI或业务逻辑
  • 完成配置后触发Widget更新:配置流程结束后,记得发送AppWidgetManager.ACTION_APPWIDGET_UPDATE广播,传入对应的Widget ID,触发目标Widget的界面更新。

内容的提问来源于stack exchange,提问作者c0dehunter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:38:01