如何使用和不使用SD卡在不同的移动设备上保存文件?

时间:2013-05-31 06:37:17

标签: android android-camera android-sdcard android-file

我将我的应用程序上传到谷歌播放,之后我发现我的应用程序没有在我检查的所有设备上工作,除了我自己...

我认为问题是文件保存位置的结果,我使用以下代码:

但是没有SD卡的设备会发生什么?

在logcat中我收到错误“无法创建目录”

    // Step 4: Set output file
    mMediaRecorder.setOutputFile(getOutputMediaFile(MEDIA_TYPE_VIDEO)
            .toString());
    outputFileName = getOutputMediaFile(MEDIA_TYPE_VIDEO).toString();





/** Create a File for saving an image or video */
    private static File getOutputMediaFile(int type) {
        // To be safe, you should check that the SDCard is mounted
        // using Environment.getExternalStorageState() before doing this.



    File mediaStorageDir = new File(
            Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES),
            "Your_voice");
    // This location works best if you want the created images to be shared
    // between applications and persist after your app has been uninstalled.

    // Create the storage directory if it does not exist
    if (!mediaStorageDir.exists()) {
        if (!mediaStorageDir.mkdirs()) {
            Log.d("Your_voice_App", "failed to create directory");
            return null;
        }
    }

    // Create a media file name
    String timeStamp = new SimpleDateFormat("ddMMyy_HHmmss")
            .format(new Date());
    File mediaFile;
    if (type == MEDIA_TYPE_VIDEO) {
        mediaFile = new File(mediaStorageDir.getPath() + File.separator
                + "Your_voice" + timeStamp + ".mp4");
    } else {
        return null;
    }

    return mediaFile;
}

1 个答案:

答案 0 :(得分:0)

然后,您可以查看,编辑并快速共享它们,而无需启动您的PC。它还允许您观看存储在卡上的视频,这意味着您无需使用大量视频文件阻塞珍贵的内部存储空间。

http://resultplanet.org/