从乌里到 Environment.DIRECTORY_DCIM
From Uri to Environment.DIRECTORY_DCIM
用户通过以下代码选择目录:
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
现在,可以从 content://com.android.externalstorage.documents/tree/primary%3ADCIM
到 Environment.DIRECTORY_DCIM
吗?
不同的要求,当用户选择 DCIM 目录时,我想为 mypath
获取变量 Environment.DIRECTORY_DCIM
。怎么做到的?
Now, is it possible to go from content://com.android.externalstorage.documents/tree/primary%3ADCIM to Environment.DIRECTORY_DCIMand how?
没有。您返回的 Uri
不一定对应于文件(例如,它指向 Google Drive 中的文档)。即使它对应于一个文件,它也不必驻留在绑定到 Environment
的目录中(例如,它指向自定义目录中的文件)。
请只使用Uri
。
用户通过以下代码选择目录:
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
现在,可以从 content://com.android.externalstorage.documents/tree/primary%3ADCIM
到 Environment.DIRECTORY_DCIM
吗?
不同的要求,当用户选择 DCIM 目录时,我想为 mypath
获取变量 Environment.DIRECTORY_DCIM
。怎么做到的?
Now, is it possible to go from content://com.android.externalstorage.documents/tree/primary%3ADCIM to Environment.DIRECTORY_DCIMand how?
没有。您返回的 Uri
不一定对应于文件(例如,它指向 Google Drive 中的文档)。即使它对应于一个文件,它也不必驻留在绑定到 Environment
的目录中(例如,它指向自定义目录中的文件)。
请只使用Uri
。