我在android工作。我想获得用户选择的文件的完整路径。我的档案
存储在SD卡中。但可能在SD卡的文件夹中。
我的SD卡中有一些文件夹。我想获得我点击的文件的完整路径。
假设我在文件夹图像/鸟类中有一个图像peacock.png
。
所以路径是mnt/sdcard/image/birds/peacock.png
请建议我如何获取文件的完整路径。
如果您需要我用于帮助的代码,请告诉我我会将其发送到此处。
提前谢谢。
答案 0 :(得分:6)
以下是this教程的代码片段,其中显示了选择文件Intent的实现:
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");
}
}
如您所见,您的onActivityResult()
方法会返回Intent
,其中包含可使用intent.getData()
方法提取的文件路径。然后,您只需使用此路径创建一个File对象,并使用file.getAbsolutePath()
方法获取它的绝对路径。希望这会有所帮助。
答案 1 :(得分:1)
如果您在onFileClick中表示,则会传递一个Option。您的Option类似乎包含完整路径,因为它被传递到构造函数中,例如:
new Option(ff.getName(),"Folder",ff.getAbsolutePath())
你能不能以某种方式进入那个属性?