Android-将单击侦听器连接到RemoteView
假设我创建了一个Android-将单击侦听器连接到RemoteView,android,android-pendingintent,android-remoteview,Android,Android Pendingintent,Android Remoteview,假设我创建了一个remoteview实例,它包含两个按钮。我希望当用户单击这些按钮时,服务(或广播接收器或其他东西)处理此单击。据我所知,实现这一目标有两种方法: 为这些按钮指定不同的操作,例如 单击的操作\u BTN\u 1\u 和 单击的操作\u BTN\u 2\u 然后通过intent.getAction()检索服务中的操作,最后服务执行适当的任务 在通过pendingent封闭的意向对象中添加一些额外的内容,例如: intent.putStringExtra(“哪个按钮”,“btn1”)
remoteview
实例,它包含两个按钮。我希望当用户单击这些按钮时,服务
(或广播接收器
或其他东西)处理此单击。据我所知,实现这一目标有两种方法:
为这些按钮指定不同的操作,例如
单击的操作\u BTN\u 1\u
和
单击的操作\u BTN\u 2\u
然后通过intent.getAction()
检索服务中的操作,最后服务执行适当的任务
在通过pendingent
封闭的意向对象中添加一些额外的内容,例如:
intent.putStringExtra(“哪个按钮”,“btn1”);//对于按钮1
和
intent.putStringExtra(“哪个按钮”,“btn2”);//对于按钮2
另一方面,在服务中,我可以通过intent.getExtras().getString(“哪个按钮”)
现在我的问题是,哪种方法至少在实践中更好?谢谢我不确定你能说一个比另一个好,但我认为第二个解决方案可能更易于管理和扩展。您可以在R
类中声明一个Integer
额外的ID。这确保了它们是唯一的,并允许您在开关
语句中引用它们。这也意味着你的路由代码在一个地方,所以如果那里有一个bug,它将更容易找到