我正试图通过小部件的按钮在我的主要活动中调用方法。 小部件具有不同的按钮,具有不同的值。我希望该方法能够完成其工作,而不会显示附加到主要活动的gui。 (使用按钮值发送http请求)
到目前为止,我搜索了一些教程,但我不太了解它们,我的代码笨拙而且几乎没有用。我认为需要混合使用意图,服务和广播才能实现这一目标?!我真的不知道,有人可以发布一个可理解的描述或教程,涵盖了如何做到这一点的所有方面? 我认为没有代码或图片可供提供,因为现在没有什么可看的。
提前感谢任何答案。
答案 0 :(得分:0)
Android AppWidgets根本不需要与Activity
有任何关系,尽管可以点击或启动活动。
您可能知道,AppWidgets的主要界面是通过您的AppWidgetProvider
(如果您不知道其中的任何内容,请查看the official android guide)。
点击后,您可以告诉按钮使用PendingIntent
执行以下操作之一:
使用PendingIntent.getService
启动服务(可能是针对http请求等耗时任务的最佳选择)。
要开始活动,请使用PendingIntent.getActivity
。
要向BroadcastReceiver
广播消息,请使用PendingIntent.getBroadcast
创建。
在所有这些情况下,您都会告诉按钮以{}运行PendingIntent
setOnClickPendingIntent(int id, PendingIntent operation)
的{{1}}方法。
通常应使用RemoteViews
构造函数创建传递给这些方法中的任何一个的Intent
,其中第二个参数是您希望将待发送的意图发送到的服务,活动或接收者类