窗口小部件不响应(Widget does not respond)

2019-07-29 23:21发布

我有一个使用服务来更新窗口小部件。 它有按钮就可以打开相应的活动。 它完美的作品。 但是,有时我点击小工具打开相应的活动,它不会工作或更新。

我的问题是:什么杀死一个应用程序部件。 而如果小工具是死的,为什么它仍然显示在屏幕上。 反正是有重温特定插件,而无需创建另一个。

谢谢

Answer 1:

当面临内存不足的情况Android将停止你的widget。 然后,它会自动清理内存后,重新启动您的家庭小工具。 但是这一次,你家的小部件会得到不同的PID从最后一个,所以它不能响应广播。

更新使用AlarmManager应用插件



Answer 2:

我必须包括在我的服务类的代码。 它的作用主要是将更新发送给每一个部件。 它已经一年多了,我的插件的按钮总是工作,没有任何问题的窗口小部件的更新。 我张贴这种希望它将帮助别人同样的问题。 我花了一年多的时间解决这个问题。

int[] arrayOfInt = AppWidgetManager.getInstance(getBaseContext())
            .getAppWidgetIds(new ComponentName(this, mywidget.class));
    AppWidgetManager localAppWidgetManager = AppWidgetManager
            .getInstance(this);

    new WebView().onUpdate(getBaseContext(), localAppWidgetManager,
            arrayOfInt);
    int i = arrayOfInt.length;
    for (int j = 0;; j++) {
        if (j >= i)
            return;
        int k = arrayOfInt[j];
        RemoteViews localRemoteViews = new RemoteViews(getBaseContext()
                .getPackageName(), R.layout.xx);
        localRemoteViews.setTextViewText(R.id.tv, tv_text);
        localRemoteViews.setOnClickPendingIntent(R.id.Button01,
                PendingIntent.getActivity(getBaseContext(), 0, new Intent(
                        getBaseContext(), LicenseCheck.class), 1));
        localAppWidgetManager.updateAppWidget(k, localRemoteViews);
    }


文章来源: Widget does not respond