如何从内部选择文件; android中的外部存储

时间:2015-04-01 07:11:00

标签: android storage

您好我正在尝试创建一个文件选择器来从设备中选择文件然后将其上传到服务器。所以我尝试了几个相同的例子,但每次我坚持它只显示设备的内部存储驱动器而不是外部存储。 我从这里File Explorer Example

尝试了这个例子

但同样我只显示内部SD卡。什么时候

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    currentDir = new File("/sdcard/");
    fill(currentDir); 
}

如果我改为mnt,则在按下后退按钮后显示选项外部存储器。

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    currentDir = new File("/mnt/");
    fill(currentDir); 
}

我想要的是当点击浏览按钮时,它应该根据设备配置仅显示两个选项的一个内部存储和第二个外部存储。即如果它有这些驱动器。

提前致谢....

1 个答案:

答案 0 :(得分:0)

用于外部存储。

String path = null;

    if (Build.VERSION.SDK_INT < 8) {
        path = root.getAbsolutePath() + "/Android/data/com.packagename/files/";
    } else {
        File file = getExternalFilesDir(null);//getAbsolutePath();
        if (file == null) {
            path = root.getAbsolutePath() + "/Android/data/com.packagename/files/";
        } else {
            path = file.getAbsolutePath();
        }
    } 

对于内部存储,您可以使用

FileInputStream stream = context.openFileInput("sp_key_file");