本文介绍了有多个待定意图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个小部件,单击该小部件可以激活PendingIntent.问题是,当我在屏幕上有多个控件时,只有最新的控件会启动PendingIntent.

I created a widget that when clicked activates a PendingIntent. The problem is when I have more than one widget on the screen only the latest one will start the PendingIntent.

我已经阅读了一些有关唯一请求代码的信息,但并未弄清楚.

I have read some about a unique request code, but not figured this out.

有什么想法可以让我有多个小部件,而PendingIntents可以用于每个小部件吗?

Any ideas how I can have multiple widgets and the PendingIntents work for each?

这是我的代码段:

Intent openApp = new Intent(context, RunningTally.class);
    openApp.putExtra("widgetId", appWidgetId);
    PendingIntent pendingAppIntent =
        PendingIntent.getActivity(context, 0, openApp, PendingIntent.FLAG_CANCEL_CURRENT  );
    views.setOnClickPendingIntent(R.id.openFull, pendingAppIntent);

推荐答案

在发布我的问题后,我想到了答案.我将我的appWidgetId传递为唯一"请求代码,瞧!现在是以下代码段:

So happens that after posting my question, I came up with an answer. I pass in my appWidgetId as the "unique" request code and voila! Here is the snippet now:

Intent openApp = new Intent(context, RunningTally.class);
    openApp.putExtra("widgetId", appWidgetId);
    PendingIntent pendingAppIntent =
        PendingIntent.getActivity(context, appWidgetId, openApp,
                                  PendingIntent.FLAG_CANCEL_CURRENT);
    views.setOnClickPendingIntent(R.id.openFull, pendingAppIntent);

这篇关于有多个待定意图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 14:43