【发布时间】:2013-01-18 02:42:44
【问题描述】:
这是我想要实现的目标: 带有 3 个按钮的小部件: 1.查看文件夹 2.添加项目 3.添加项目并启动相机以将照片附加到项目。
我希望通过使用带有附加功能的 Intent 来实现 2&3,如果单击了第三个按钮,只需添加一个布尔额外的“照片”以保持真实,这是我的代码:
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 附加值立即被新值覆盖,并且我的活动中总是得到 true 和 PHOTO 值。
pendingFolder 意图有效,所以我想使用另一个意图动作就可以了,但我想了解这个 PendingIntent 是如何工作的。
【问题讨论】:
标签: android