在HomeScreenWidget上调用活动单击

时间:2011-06-17 07:07:26

标签: android widget onclick

当用户点击我的HomeScreen窗口小部件中的按钮时,我正在尝试打开我的活动。但我猜应用程序没有响应我的onclick。这是我的代码片段:

RemoteViews remoteViews = new RemoteViews(context.getPackageName(),R.layout.layout_appwidget);  
Intent launchActivity = new Intent();
launchActivity.setClass(context,UpdatesScreen.class);
launchActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context,0, launchActivity, 0);
remoteViews.setOnClickPendingIntent(R.id.iv_widget, pendingIntent);
ComponentName thisWidget = new ComponentName(context, MyAppWidgetProvider.class.getName());
AppWidgetManager manager = AppWidgetManager.getInstance(context);
manager.updateAppWidget(thisWidget, remoteViews);

我在onUpdate中复制了相同的代码以及MyAppWidgetProvider类的onEnabled方法。但它仍然无法正常工作。

我已阅读很多有关此问题的帖子,但所有人都使用相同的代码。难道我做错了什么??做同样的事情的正确方法是什么。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我发现了错误。发布我的答案,以帮助面临同样问题的人。

实际上,我一直在覆盖方法onUpdate()以及onReceive()。如果我们覆盖onReceive(),那么onUpdate()永远不会被调用。我也没有在ACTION_APPWIDGET_UPDATE中使用onReceive()作为操作。