小编Bry*_*n W的帖子

重新启动或升级应用程序后,我的 Android 小部件停止更新

每当我重新启动手机或升级应用程序(在我的测试设备和Android模拟器上)时,小部件就会停止更新,直到我创建小部件的新实例。然后小部件的两个实例将再次开始更新。我认为这是与调用onUpdate()旧的东西有关WidgetIds,但我无法弄清楚。这是我的代码的一小部分。

 public class NewAppWidget extends AppWidgetProvider {

private static final String refresh = "b_refresh";

static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId) {

    RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget);

    Intent intent = new Intent(context, NewAppWidget.class);
    intent.setAction(refresh);
    intent.putExtra("appWidgetId", appWidgetId);

    views.setOnClickPendingIntent(R.id.refresh, PendingIntent.getBroadcast(context,0,intent, PendingIntent.FLAG_UPDATE_CURRENT));
    appWidgetManager.updateAppWidget(appWidgetId, views);
}

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {

    for (int appWidgetId : appWidgetIds) {
        updateAppWidget(context, appWidgetManager, appWidgetId);
    }
}

@Override
public void onReceive(Context context, Intent intent) {
    if(refresh.equals(intent.getAction())) …
Run Code Online (Sandbox Code Playgroud)

java android android-widget android-activity android-studio

9
推荐指数
1
解决办法
2406
查看次数