【问题标题】:Trying open a specific folder in android using intent [duplicate]尝试使用意图在android中打开特定文件夹[重复]
【发布时间】:2014-02-27 22:34:56
【问题描述】:

我正在尝试在 android 中打开特定文件夹?是否可以打开特定文件夹????这是我正在使用的代码

    config=(Button)findViewById(R.id.btn_cf);

      config.setOnClickListener(new View.OnClickListener() 
      {         
            @Override
            public void onClick(View v)
            { 

            Intent intent = new Intent("Intent.ACTION_GET_CONTENT"); 
             Uri uri = Uri.parse("mnt/sdcard/myfiles/allfiles/download"); 
            intent.setDataAndType(uri, "*/*"); 
            startActivity(Intent.createChooser(intent, "download"));


            }
       });

【问题讨论】:

标签: android android-intent


【解决方案1】:

有效:

Uri selectedUri = Uri.parse(Environment.getExternalStorageDirectory() + "/myFolder/");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(selectedUri, "resource/folder");
startActivity(intent); 

编码愉快:)

编辑: 如果当前的解决方案对您没有帮助,那么这些文件/目录选择器库可能会有所帮助: https://android-arsenal.com/tag/35

【讨论】:

  • 错误:没有找到处理 PATH 的活动,Type="resource/folder"
  • Alauddin Ansari,可能是因为您的设备上没有安装任何文件管理器应用程序。请检查一下。
  • 我的设备上安装了“根资源管理器”。还有默认文件管理器。但仍然出现错误。
  • 此代码仅在您拥有 ES 文件资源管理器时才有效。需要更改setDataType
【解决方案2】:

我在这个GitHub repo找到了解决方案

代码:

如果你想打开和浏览文件: FileBrowser.class

        Intent intent = new Intent(activity, FileBrowser::class.java)
        intent.putExtra(Constants.INITIAL_DIRECTORY, File(storageDirPath).absolutePath)
        intent.putExtra(Constants.ALLOWED_FILE_EXTENSIONS,"*")

        startActivityForResult(intent, CODE_INTENT )

如果你想获取用户选择文件的 URI: FileChooser.class

        Intent intent = new Intent(activity, FileChooser::class.java)
        intent.putExtra(Constants.INITIAL_DIRECTORY, File(storageDirPath).absolutePath)
        startActivityForResult(intent, CODE_INTENT )

【讨论】:

    【解决方案3】:

    选择根:

    Intent selectFile = new Intent(); 
                                 selectFile.setAction("com.sec.android.app.myfiles.PICK_DATA_MULTIPLE");    
                selectFile.putExtra("CONTENT_TYPE", "*/*");
                selectFile.addCategory(Intent.CATEGORY_DEFAULT);
                startActivity(selectFile);
    

    【讨论】:

    • 我想设置 URI 为此你能帮帮我吗?
    【解决方案4】:

    尝试用这一行替换你的代码

      btn.setOnClickListener(new View.OnClickListener() 
          {         
                @Override
                public void onClick(View v)
                { 
    
                    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                    Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
                        + "/myFolder/");
                    intent.setDataAndType(uri, "text/csv");
                    startActivity(Intent.createChooser(intent, "Open folder"));
    
    
                }
           });
    

    【讨论】:

    • 我做了同样的事情,它说你登录下拉框应用程序并注册
    • 我只想在我的 sd 卡上打开一个特定的文件夹
    • 是的,我正在寻找你的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    相关资源
    最近更新 更多