如何从屏幕小部件传递参数到活动?我在屏幕上有小部件和像这样的代码
Intent defineIntent2 = new Intent(context, LOG.class);
defineIntent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
defineIntent2.putExtra("id", id);
PendingIntent pendingIntent2 = PendingIntent
.getActivity(context, 0 /* no requestCode */,
defineIntent2, 0 /* no flags */);
remoteViews
.setOnClickPendingIntent(R.id.widget, pendingIntent2);
但是当我点击widget并输入LOG活动并尝试读取我已通过的参数(id)
int id = getIntent().getIntExtra("id",
-1);
我总是得到-1。如何将参数从小部件传递给活动?
答案 0 :(得分:3)
Intents在Android中重复使用。如果您希望正确传递更改,可以使用FLAG_CANCEL_CURRENT FLAG:
PendingIntent pendingIntent2 = PendingIntent
.getActivity(context, ,
defineIntent2, PendingIntent.FLAG_CANCEL_CURRENT);