【问题标题】:Android: can I put 2 Pendingintents on the same view?Android:我可以将 2 个 Pendingintent 放在同一个视图上吗?
【发布时间】:2013-06-04 13:37:04
【问题描述】:

我有一个应用小部件。

在 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 个 Pendingintent(pipi1)。

Pendingintent pi 按其应有的方式工作。

Pendingintent pi1 无效。

非常感谢您的帮助

【问题讨论】:

    标签: android android-appwidget android-pendingintent


    【解决方案1】:

    这是不可能的。 RemoteViews 中的任何View 只能有一个PendingIntent 用于setOnClickPendingIntent()。如果你调用setOnClickPendingIntent() 两次,最后一个获胜。

    因此,请只调用一次,然后让WakeUp 调用sendBroadcast() 来完成您的第二次操作。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 2018-12-22
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      相关资源
      最近更新 更多