Java 从Uri到Environment.DIRECTORY\u DCIM

Java 从Uri到Environment.DIRECTORY\u DCIM,java,android,uri,environment,Java,Android,Uri,Environment,用户通过以下代码选择目录: public void startChoose(View view) { Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); i.addCategory(Intent.CATEGORY_DEFAULT); startActivityForResult(Intent.createChooser(i, "Choose directory"), 8010); } @O

用户通过以下代码选择目录:

public void startChoose(View view) {
    Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
    i.addCategory(Intent.CATEGORY_DEFAULT);
    startActivityForResult(Intent.createChooser(i, "Choose directory"), 8010);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
      switch (requestCode) {
        case 8010:
            mypath = data.getData().toString();
            break;
    }
}
他的目录存储在
mypath
中,如下所示(例如使用DCIM):

现在,是否可以从
content://com.android.externalstorage.documents/tree/primary%3ADCIM
环境。目录\u DCIM
以及如何

以不同的方式询问,我希望在用户选择DCIM目录时获得
mypath
的变量
Environment.DIRECTORY\u DCIM
。怎么能这样呢

现在,有可能从content://com.android.externalstorage.documents/tree/primary%3ADCIM 到Environment.DIRECTORY\u dci以及如何

不需要。返回的
Uri
不必与文件对应(例如,它指向Google Drive中的文档)。即使它对应于一个文件,它也不必位于绑定到
环境
的目录中(例如,它指向自定义目录中的文件)


请使用
Uri

谢谢您的及时回复。很高兴知道这是不可能的。我有一个使用
Environment.DIRECTORY\u DCIM
的代码部分,即
File imagedir=getExternalStoragePublicDirectory(Environment.DIRECTORY\u DCIM)。然后是否可以让它使用
mypath
作为Uri,如下所示:
File-imagedir=getExternalStoragePublicDirectory(mypath)?我尝试了
文件imagedir=getExternalStoragePublicDirectory(mypath.toString())但这不起作用。@Sam77:对不起,我不明白你的问题
getExternalStoragePublicDirectory()
环境
上的一种方法。它不接受任意值作为参数。我明白了。在这种情况下,我必须重新考虑我的代码。感谢您的帮助。Environment.DIRECTORY\u DCIM==“DCIM”getExternalStoragePublicDirectory(Environment.DIRECTORY\u DCIM)==/storage/emulated/0/DCIM您要求的是被诅咒的函数getRealPathFromUri()。
content://com.android.externalstorage.documents/tree/primary%3ADCIM