Android выбор файла студии и ошибка строки результата (Document / msf:) - PullRequest
1 голос
/ 17 июня 2020

Здравствуйте, выбираю файл с приложением android studio. в конечном итоге я хочу получить файл и его путь. В результате я получаю Document / msf: вместо path. Как мы можем решить эту проблему. С наилучшими пожеланиями Android выбор файла студии и ошибка строки результата (Документ / msf:) startActivityForResult (i, 10); вызовите результат onActivityResult, а не путь. и получите результат / document / msf: 10079 Bu durumu nasıl çözebilirim?

  btn_ac.setOnClickListener(new OnClickListener() {


           @Override
           public void onClick(View v) {


               File  apkStorage;
               String clst = Environment.getDataDirectory()+"";


               try {

                   Intent i = new Intent();
                   //i.setDataAndType(uri,"*/*");
                   i.setType( "*/*" );
                   i.setAction(Intent.ACTION_GET_CONTENT);
                   i.addCategory(Intent.CATEGORY_OPENABLE);

                 startActivityForResult(i,10);

               } catch (Exception e) {
                   // handle exception
                   Log.e( "Error!", "ffffffff" + e.getMessage() );

               }

           }

       });
        @SuppressLint("WrongConstant")
            public void onActivityResult(int requestCode, int resultCode, Intent data) {
                //super.onActivityResult(requestCode, resultCode, data);


                Uri selectedImageUri = data.getData();
                //String returnString=selectedImageUri.getPath()+"dfgdfg";
              String selectedImagePath = getRealPathFromURI( selectedImageUri )+"-p";


                Log.e( "Error!", selectedImagePath+"");

            }
            public String getRealPathFromURI(Uri uri) {
                Cursor cursor=null;
                if (uri == null) {
                    return null;
                }

                String[] projection = {MediaStore.Images.Media.DATA};
                try {
                    cursor = context.getContentResolver().query( uri, projection, null, null,
                            null );
                } catch (Exception E){  Log.e( "Error!", "CURSOR ERR");
                }
                if (cursor != null) {
                    Log.e( "Error!", "cursor dolu");
                    int column_index = cursor
                            .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                    cursor.moveToFirst();
                    return cursor.getString(column_index);
                }
                Log.e( "Error!", uri.getPath());

                return uri.getPath();
            }
...