ここでのコードの提案に基づいて、私はMediaStoreから画像を抽出しようとしました。しかし、実際の写真を選択すると、getContentResolver()。query()は常にnullを返します。理由を理解できません...MediaStoreから返されない選択された画像
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(i, SELECT_PHOTO);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.v(TAG,"onActivityResult: requestCode = "+requestCode+", resultCode = "+requestCode);
if (requestCode == SELECT_PHOTO) {
Uri selectedImage = data.getData();
String[] filePathColumn = {android.provider.MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
if (cursor != null) {
Log.v(TAG,"onActivityResult: count = "+cursor.getCount());
if (cursor.getCount() == 1) {
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
Log.v(TAG,"onActivityResult: filePath = "+filePath);
}
cursor.close();
}
}
}
あなたはMediaStoreのドキュメントを見ましたか?これはあなたに手がかりを与えるかもしれません。 MediaStore.javaのソースを見る方が良いでしょう。 – JoxTraex
MediaStoreのソースを見ますか?私はちょうど初心者です。私はAndroidプログラミングを始めたばかりです。 –