【问题标题】:Returning FilePath from Implicit-Intent从隐式意图返回 FilePath
【发布时间】:2016-07-31 09:06:21
【问题描述】:

要启动文件管理器应用程序以便用户选择他们想要打开的文件,我使用以下代码:

    Intent pickFile = new Intent(Intent.ACTION_GET_CONTENT);
    pickFile.setType("file/*");
    pickFile.addCategory(Intent.CATEGORY_OPENABLE);
    if (pickFile.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(pickFile,FILE_REQUEST_CODE);
    } else{
        Toast.makeText(getApplicationContext(),"Did not start intent",Toast.LENGTH_SHORT).show();
        return;
    }

这很好用。但文件管理器会在根目录中打开。
对于用户来说,这需要点击太多才能获得所需的文件。

那么有没有办法从不同的文件夹而不是根目录启动 Intent?此外,Android Developer Guide 似乎没有提供解决方案。

【问题讨论】:

    标签: android android-intent file-manager


    【解决方案1】:

    这样试试

    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
        + "/yourFolder/");
    intent.setDataAndType(uri, "*/*");
    startActivityForResult(Intent.createChooser(intent, "Open folder"),FILE_REQUEST_CODE);
    

    【讨论】:

    • 当我在“打开方式”对话框中选择“文件指挥官”时,应用程序只显示一个空屏幕(即使文件在那里)。但是,当手动导航到它时,它会显示出来,我将能够在我的 android 程序中打开它。这种行为的任何线索?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 2022-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多