繁体   English   中英

应用程序文件夹在SD卡中不可见

[英]App folder not visible in sd-card

在我的应用程序中,我想将用户拍摄的相机图像存储在一个文件夹中。为此,我创建了一个文件夹,但是当我打开SD卡时,我找不到该文件夹​​。我的代码有什么问题。

创建文件

 protected void createFile(Context context, String mainName, String subName) {
        file = new File(Environment.getExternalStorageDirectory() + "/" + mainName + "/" + subName);
        if (!file.exists()) {
            file.mkdirs();
            Toast.makeText(getActivity(), "File created" + file.toString(), Toast.LENGTH_LONG).show();
        }
    }

我是上述方法的用户的类

public void onClick(View view) {

        setUp();

        createFile(getActivity(),"pocketDocs","Camera");
        switch (view.getId()) {

            case R.id.bt_choose_file:

                displayPopup(getActivity(), "Choose File", chooseDocumentArray, btChooseDoc, false, new GetNamePosition() {
                    @Override
                    public void getName(String name) {
                        userSelection = name;

                        if (userSelection.equals("Camera")) {
                            intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                            startActivityForResult(intent, 1);
                            btChooseDoc.setText("Choose File");
                        }

采用

file = new File(Environment.getExternalStorageDirectory() + "/" + mainName 
                + "/" + subName + "/");

代替

file = new File(Environment.getExternalStorageDirectory() + "/" + mainName 
                + "/" + subName);

如果没有尾随分隔符(在您的情况下为/),则Android(基于UNIX)会将其解释为文件(而不是目录)。 这是由于Java中的File类表示文件和目录。 而且您根本无法在文件内创建目录。

还要在清单中添加WRITE_EXTERNAL_STORAGE权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM