我有一个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 没有效果。
非常感谢任何帮助
答案 0 :(得分:1)
这是不可能的。 View
中的任何RemoteViews
PendingIntent
只能有一个setOnClickPendingIntent()
。如果您拨打setOnClickPendingIntent()
两次,则最后一次获胜。
因此,请只拨打一次,并WakeUp
致电sendBroadcast()
以完成第二次操作。
此外,请将getApplicationContext()
替换为this
,因为您不需要任何此代码中的应用程序上下文。