これが私が達成しようとしていることです:3つのボタンを備えたウィジェット:1。フォルダを表示します2.アイテムを追加します3.アイテムを追加し、カメラを起動してアイテムに写真を添付します。
インテントとエクストラを使用して2&3を達成したいと思っていました。ブール値のエクストラ「写真」を追加するだけで、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
常に値を取得することです。インテントは機能するので、別のインテントアクションを使用するだけでも問題ないと思いますが、このPendingIntentがどのように機能するかを理解したいと思います。PHOTO
pendingFolder