Android:我可以在同一视图中放置2个Pendingintent吗?

时间:2013-06-04 13:37:04

标签: android android-appwidget android-pendingintent

我有一个App Widget。

在App Widget中,我尝试在同一个Viev上设置2个Pendingintests:

        //FIRST PENDINGINTENT
        Intent i1 = new Intent(getApplicationContext(), AppWidget.class);
        i1.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
        i1.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
        PendingIntent pi = PendingIntent.getBroadcast(
                getApplicationContext(), 0, i1,
                PendingIntent.FLAG_UPDATE_CURRENT);

        //SECONDPENDINGINTENT
        Intent i11 = new Intent(getApplicationContext(), WakeUp.class);
        PendingIntent pi1 = PendingIntent.getActivity(
                getApplicationContext(), 0, i11,0);

        //I SET THE PENDINGINTENT ON THE VIEW
        updateViews.setOnClickPendingIntent(R.id.background, pi1);
        updateViews.setOnClickPendingIntent(R.id.background, pi);

如您所见,我在SAME视图 R.id.background 上设置了2个Pendingintents( pi pi1 )。

Pendingintent pi 可以正常工作。

Pendingintent pi1 没有效果。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

这是不可能的。 View中的任何RemoteViews PendingIntent只能有一个setOnClickPendingIntent()。如果您拨打setOnClickPendingIntent()两次,则最后一次获胜。

因此,请只拨打一次,并WakeUp致电sendBroadcast()以完成第二次操作。

此外,请将getApplicationContext()替换为this,因为您不需要任何此代码中的应用程序上下文。