以下は私のコードです:
if(v.getId() == R.id.button2)
{
Intent wpIntent = new Intent();
wpIntent.setType("image/*");
wpIntent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(wpIntent, "Select Picture"), SELECT_PICTURE);
}
}
public void onActivityResult(int resultCode, int requestCode, Intent data)
{
if(resultCode == RESULT_OK)
{
if(requestCode == SELECT_PICTURE)
{
Uri selectedImage = data.getData();
selectedImagePath = getPath(selectedImage);
Toast.makeText(this, ""+selectedImagePath, Toast.LENGTH_SHORT).show();
}
}
}
private String getPath(Uri selectedImage)
{
String[] proj = {MediaStore.Images.Media.DATA};
cursor = managedQuery(selectedImage, proj, null, null, null);
int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(columnIndex);
}
この写真の何が問題になっていますか?onActivityResultのトーストは表示されません。これは、これが機能していないことを意味します。
私はここで何が間違っているのですか?
編集:さらにチェックを追加しましたが、if(resultCode == RESULT_OK)がtrueを返さないことがわかりました。どうしてこんなことに?
編集2これは奇妙です。両方の「if」ステートメントを削除すると、プログラムは正常に機能します。適切な画像のURIが生成され、すべてが正常に機能します。しかし、「if」ステートメントがfalseを返す理由はまだわかりません。