AppWidget按钮onClick停止工作

时间:2011-05-01 21:44:17

标签: android android-widget android-appwidget

我有一个我正在尝试构建的小部件,它只包含一个按钮。我想要做的是点击按钮然后运行一些简单的代码(在我的测试中它是一个Toast警报)。它似乎最初工作正常,但突然按钮停止响应点击。手机睡着后我一直注意到它。这是我的AppWidgetProvider代码。

的onUpdate:

for (int appWidgetId : appWidgetIds) {
    RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.my_widget);
    Intent intent = new Intent(context, MyNewWidgetProvider.class);
    intent.setAction("MyCode");
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
    remoteView.setOnClickPendingIntent(R.id.my_btn, pendingIntent);

    AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, remoteView);
}

的onReceive:

super.onReceive(context, intent);

if (intent.getAction().equals("MyCode")) {          
    Toast toast = Toast.makeText(context, "It worked", Toast.LENGTH_SHORT);
    toast.show();   

}

我很难过,所以如果有人能帮我指出正确的方向,我会很感激。就像我说的,它可以正常工作,直到手机睡了一两分钟,然后它完全停止响应点击。

谢谢!

1 个答案:

答案 0 :(得分:1)

每次使用后,待处理的意图都会被“烧毁”。你需要再次设置它。或者等待窗口小部件刷新,然后它也会发生,但这可能不是理想的方式。