【问题标题】:How to browse to file explorer in android through code如何通过代码浏览到android中的文件资源管理器
【发布时间】:2014-06-05 22:45:24
【问题描述】:

您好,我想浏览到文件资源管理器并选择某个目录中存在的 pdf 或图像。 我希望代码也这样做。

下面的代码将我带到画廊并帮助我选择图像,但我想移动到文件资源管理器然后选择文件,因此我希望在选择后将代码放在 onactivityResult 中。

browsePic.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent i = new Intent(
            Intent.ACTION_PICK,
            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
        );
        startActivityForResult(i, LOAD_IMAGE_RESULTS);
    }
});

【问题讨论】:

  • 巧合的是,另一位用户在发帖前几分钟发布了一个非常相似的问题 (Through my application the user can choose a file from the filemanager and process the choosen file):stackoverflow.com/questions/24060059/… 他在抱怨 KitKat 不兼容。
  • 这是一个可下载的FileChooser,兼容API 2.2+,试试看:code.google.com/p/afiledialog
  • 不要忘记对您认为有帮助的任何答案进行投票,并点击灰色勾号接受最能回答您问题的答案。

标签: java android


【解决方案1】:

我相信您可以使用以下方法为文件选择器抛出一个开放的意图。

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
try{
    startActivityForResult(intent, LOAD_IMAGE_RESULTS);
} catch (ActivityNotFoundException e){
    Toast.makeText(YourActivity.this, "There are no file explorer clients installed.", Toast.LENGTH_SHORT).show();
}

但是,问题在于,这假设您的用户打开了一个文件浏览器以接受其设备上安装的意图,而设备上通常没有默认安装此类应用程序。

与上面的代码一样,如果不存在可以接受此意图的活动,您可能必须抛出一个对话框,说明它们需要安装文件浏览器。您甚至可以推荐一个您知道适用于您的应用程序的产品。

我希望这会有所帮助。

【讨论】:

【解决方案2】:

我认为你可以这样做

File strDir = new File("/mnt/"); // where your folder you want to browse inside android

if( strDir.isDirectory()){
     //do something
}

【讨论】:

  • 但他说:i want to browse to a file explorer and select a pdf or image present in some directory...您的代码如何显示文件浏览器
  • Class File 有能力获取 list() 特定路径,他可以获取他想要的文件,也许我错了。
  • 是的,上面的代码不会带我进入文件资源管理器。
  • 就像我说的,你总是可以改变 File 构造函数中的路径,你总是可以通过 Environment.getExternalStorageDirectory().getPath() 这个与外部存储目录有关
  • 帮帮我!似乎在工作stackoverflow.com/questions/24060059/… 你能帮我理解吗在上面的代码中你能解释一下 R.string.select_file MIME_TYPE_ALL REQUEST_CODE 应该是什么以及何时调用此方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-18
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 1970-01-01
相关资源
最近更新 更多