我的小部件有几个ImageButtons,为它们设置onClicked事件,我使用PendingIntent:
Intent intent = new Intent(context, UpdateService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
remoteViews.setOnClickPendingIntent(R.id.Button1, pendingIntent);
如果我只想为所有按钮使用一个PendingIntent和Service,我该如何确定点击了哪个按钮? 谢谢你!
答案 0 :(得分:0)
我不明白为什么你只想使用一个PendingIntent。答案是为每次点击创建多个意图。最简单的是给每个Intent一个特殊的动作。这样,您可以在收到意图时将点击事件分开。
答案 1 :(得分:0)
如何确定点击了哪个按钮?谢谢你!
这个怎么样?我将此代码添加到了MainActivity.java文件中。我的activity_main.xml有各种按钮,根据你按哪一个按钮将你带到一个特定的网站。我不想多次重复openWebSite()函数,所以我尝试了v.getID(),它为按下的按钮返回一个唯一值。我将使用此唯一编号转到正确的网站。
public void openWebSite(View v) {
if (v.getId()==2131230722) {
String url = "https://www.facebook.com/pages/Emily-Otnes/110931118993282";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
Log.e("test", String.valueOf(v.getId()));
}