android: how can get full path of a file stored in a folder in sdcard?

前端 未结 2 1610
自闭症患者
自闭症患者 2021-01-03 16:24

I am working in android. i want to get the full path of a file selected by user. my files
are stored in sdcard. but may be in a folder in sd card.

I have some

2条回答
  •  抹茶落季
    2021-01-03 17:02

    Here's a code snippet from this tutorial, that shows the pick file Intent implementation:

        protected void onActivityResult(int requestCode, int resultCode, Intent intent)
    {
       if (requestCode == PICK_REQUEST_CODE)
       {
       if (resultCode == RESULT_OK)
       {
          Uri uri = intent.getData();
          String type = intent.getType();
          LogHelper.i(TAG,"Pick completed: "+ uri + " "+type);
          if (uri != null)
          {
             String path = uri.toString();
             if (path.toLowerCase().startsWith("file://"))
             {
                // Selected file/directory path is below
                path = (new File(URI.create(path))).getAbsolutePath();
             }
    
          }
       }
       else LogHelper.i(TAG,"Back from pick with cancel status");
       }
    }
    

    As you can see, your onActivityResult() method returns you the Intent, which contains the file path, that can be extracted using intent.getData() method. Then you just create a File object using this path, and get the absolute path of it using file.getAbsolutePath() method. Hope this helps.

提交回复
热议问题