将 Intent Uri 转换为路径

时间:2021-01-02 21:20:34

标签: android google-drive-api uri

public class AddImage extends AppCompatActivity {
   @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_account);
}

   @Override
   protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
       super.onActivityResult(requestCode, resultCode, data);
   
       if(requestCode == PICK_IMAGE && resultCode == RESULT_OK && data != null && data.getData() != null){
           uriSecurityQuestion = data.getData();
           ivSecurityQuestions.setImageURI(uriSecurityQuestion);
           ivSecurityQuestions.setVisibility(View.VISIBLE);
       }
   }
}

我发送了一个添加 .png 文件的请求,然后在意图返回时,使用意图数据(包含所选 .png 的文件路径)调用 onActivityResult

从 Intent 数据中,我没有得到 /storage/emulated/0/ 的路径,而是得到类似 /document/msf:49 的路径。如何获取绝对文件系统路径?

data.getData().getPath() 似乎没有给出我想要的路径。

我想使用此路径创建一个 java.io.File 对象并将其推送到我的 google drive api 服务。当我自己手动输入文件路径时,它似乎确实上传了文档,所以我唯一的障碍是获取正确的文件路径。

0 个答案:

没有答案