OSがAndroid6.0のGoogle Nexus5Xという端末を使用して,アプリを作成しています.作成しているアプリの中で,端末に保存されている画像を選ぶ,という部分があるのですが,画像の選択後にerrorがでるので,それについての質問です.
以下,画像を選択して,その画像ファイルのパスを取得する部分です.
java
1protected void onActivityResult(int requestCode, int resultCode, Intent data) { 2 super.onActivityResult(requestCode, resultCode, data); 3 4 if(requestCode == REQUEST_USER_IMAGE && resultCode == Activity.RESULT_OK && data != null){ 5 Uri uri = data.getData(); 6 String postImagePath = uri.getPath(); 7 demoPostFile = new File(postImagePath); 8 String userFileEx = String.valueOf(demoPostFile.exists()); 9 Log.d("check results", "boolean is " + userFileEx); 10 } 11}
また,以下のコードはPath取得のための関数です.
java
1public static String getPath(Context context, Uri uri) { 2 ContentResolver contentResolver = context.getContentResolver(); 3 String[] columns = { MediaStore.Images.Media.DATA }; 4 Cursor cursor = contentResolver.query(uri, columns, null, null, null); 5 cursor.moveToFirst(); 6 String path = cursor.getString(0); 7 cursor.close(); 8 return path; 9 }
しかし,どちらでやっても userFileEx
の結果がfalse
になってしまいます.
postImagePath
は /document/image:38
という表記になっています.
回答よろしくおねがいいたします・
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。