【问题标题】:Android: load file between two activitiesAndroid:在两个活动之间加载文件
【发布时间】:2014-07-24 14:29:07
【问题描述】:

我做了一个包含两个活动的 Android 应用程序。在第一个活动中,我录制了一个声音,并使用以下代码将其保存在 sdcard 上:

private String getFilename(){
        String filepath = Environment.getExternalStorageDirectory().getPath();
        File file = new File(filepath,AUDIO_RECORDER_FOLDER);

        if(!file.exists()){
            file.mkdirs();
        }

        String fileaudio= new String("record");
        return (file.getAbsolutePath() + "/" + fileaudio + AUDIO_RECORDER_FILE_EXT_WAV);
    }

在第二个活动中,我必须回调此文件并使用此代码:

File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard,"Audio/fileaudio.wav");

但我总是收到“FileNotFound”错误,但我注意到此文件存在于 Audio 文件夹中 你能帮帮我吗?

【问题讨论】:

    标签: android file load record sd-card


    【解决方案1】:

    将文件路径作为附加项传递给新活动:

    Intent i = new Intent(this, KNColorPickerActivity.class);
                    i.putExtra("FILE_PATH",
                            file.getAbsolutePath());
                    startActivity(i);
    

    然后在你的第二次活动中,onCreate

    Intent i = getIntent();
            if(i.hasExtra("FILE_PATH")){
                String filePath = i.getStringExtra("FILE_PATH");
            }
    

    【讨论】:

    • 不应该 File file = new File(sdcard,"Audio/fileaudio.wav");是 File file = new File(sdcard,"Audio/record.wav");
    猜你喜欢
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多