android - Android小部件和两个不同的PendingIntents

  显示原文与译文双语对照的内容
0 0

以下是我要实现的功能: 带有 3个按钮的小部件:1. 查看文件夹 2.添加项目 3 。 添加项目并启动照相机以将照片附加到项目。

我希望使用附加的Intent 实现 2 & 3 只要单击" 3rd"按钮,就可以以添加一个布尔额外"照片":

Intent intent = new Intent(Intent.ACTION_INSERT);
 intent.setData(Uri.parse("content://"
 + NoteProviderMetaData.AUTHORITY +"/folders/"
 + folderId));
intent.putExtra("photo", false);
intent.putExtra("kind","NO PHOTO");
intent.setAction(Intent.ACTION_INSERT);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
views.setOnClickPendingIntent(R.id.imageButton2, pendingIntent);
Intent intentFolder = new Intent(Intent.ACTION_VIEW);
 intentFolder.setData(Uri.parse("content://"
 + NoteProviderMetaData.AUTHORITY +"/folders/"
 + folderId +"/notes"));
PendingIntent pendingIntentFolder = PendingIntent.getActivity(this, 0, intentFolder, 0);
Intent intentPhoto = new Intent(Intent.ACTION_INSERT);
intentPhoto.setData(Uri.parse("content://"
 + NoteProviderMetaData.AUTHORITY +"/folders/"
 + folderId));
intentPhoto.putExtra("photo", true);
intentPhoto.putExtra("kind","PHOTO");
intentPhoto.setAction(Intent.ACTION_INSERT);
PendingIntent pendingIntentPhoto = PendingIntent.getActivity(this, 0, intentPhoto, 0);
views.setOnClickPendingIntent(R.id.imageButton3, pendingIntentPhoto);

问题是在创建 pendingIntentPhoto 之后,我的pendingIntent 附加被新值覆盖,并且我总是在 Activity 中获取 truePHOTO 值。 pendingFolder Intent 工作,所以我想只要使用另一个 Intent 操作,我想知道这个PendingIntent的工作方式。

时间:原作者:1个回答

0 0

我可以用这个没有记录的方法功能来实现这一点:

public static PendingIntent getActivity (Context context, int requestCode, Intent intent, int flags)

从文档: requestCode Private request code for the sender (currently not used).

很明显,这个代码现在被用在。 为这个方法调用提供不同的requestCodes允许我为同一个小部件创建不同的PendingIntents

原作者:
...