小工具没有响应

时间:2012-06-15 18:33:03

标签: android android-widget

我有一个使用服务进行更新的Widget。它上面有一个按钮来打开活动。它完美地运作。但是,有时我点击窗口小部件打开活动,它不会工作或更新。

我的问题是:  什么杀死了应用程序小部件。如果小部件已经死了,为什么它仍然显示在屏幕上。 反正有没有创建另一个特定的小部件。

由于

2 个答案:

答案 0 :(得分:2)

Android会在面向内存不足的情况下停止播放窗口小部件。 然后它将在自动清理RAM后重新启动主窗口小部件。 但这一次,你的家庭小部件将获得与上一个小块不同的pid, 所以它不能回应广播。

Updating app widget using AlarmManager

答案 1 :(得分:0)

我必须在我的服务类中包含此代码。它的作用基本上是将更新发送到每个小部件。它已经超过一年了,我的小部件上的按钮始终有效,小部件更新没有任何问题。我发布这个希望它可以帮助有同样问题的人。我花了一年多的时间来解决它。

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);
    }