android - 以编程方式从 Activity/服务/接收器更新小部件

标签 android android-activity android-widget

我知道这是可能的,但我想不出一种方法来从主要 Activity 中触发我的小部件更新。我不能广播一些一般 Intent 吗?

最佳答案

如果您正在使用 AppWidgetProvider,则可以这样更新它:

Intent intent = new Intent(this, MyAppWidgetProvider.class);
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
// Use an array and EXTRA_APPWIDGET_IDS instead of AppWidgetManager.EXTRA_APPWIDGET_ID,
// since it seems the onUpdate() is only fired on that:
 int[] ids = AppWidgetManager.getInstance(getApplication())
    .getAppWidgetI‌​ds(new ComponentName(getApplication(), MyAppWidgetProvider.class));
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids);
sendBroadcast(intent);

关于android - 以编程方式从 Activity/服务/接收器更新小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3455123/

相关文章:

java - 将 FirebaseDatabase jsonObject 转换为 jsonArray,然后将 jsonArray 转换为 .xlsx 格式

android - 广播有应用程序启动计数

android - 如何将设置 Activity 合并到主要 Activity ?

java - 在全屏中显示选定的网格图像,其代码需要在 MainActivity 类中,如下所示

java - 按下事件时的 Android 小部件按钮

android - 无法在 Android 4.4.4 上获得分配

java - 如何检测一个字符串是否包含至少一个特定语言的字符?

市场上的安卓应用

android - 以编程方式启用/禁用 Activity

android - 如何强制重绘 ListView ?