在android中创建临时文件时出现问题?

在android中创建临时文件时出现问题?,android,Android,在我的MediaPlayer流媒体视频应用程序中,我使用以下代码 File temp = File.createTempFile("mediaplayertmp", "dat"); 运行时抛出异常,如 Parent directory of file in not writable:/sdcard/ mediaplayertmp43912.dat 我不知道如何处理这个问题,我想知道,当我们执行该代码时,意味着文件将在何处创建。任何人都知道解决方案意味着请提供一些代码帮助。我不确定您想做什么

在我的MediaPlayer流媒体视频应用程序中,我使用以下代码

File temp = File.createTempFile("mediaplayertmp", "dat");
运行时抛出异常,如

Parent directory of file in not 
writable:/sdcard/
mediaplayertmp43912.dat

我不知道如何处理这个问题,我想知道,当我们执行该代码时,意味着文件将在何处创建。任何人都知道解决方案意味着请提供一些代码帮助。

我不确定您想做什么。。。如果目录不可写,则它不可写。为用户抛出一个错误,告诉他们SD卡需要写入权限(可能有关于如何修复的说明)

在一些应用程序中,我有类似的代码,以确保有SD卡。。。修改它以确保它也是可写的应该不难:

// make sure we have a mounted SDCard
if (!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
    // they don't have an SDCard, give them an error message and quit
    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage(R.string.welcome_dialog_sdcard_error)
        .setCancelable(false)
        .setPositiveButton(R.string.welcome_dialog_sdcard_ok, new DialogInterface.OnClickListener() {
            public void onClick(final DialogInterface dialog, final int id) {
                finish();
            }
        });
    final AlertDialog alert = builder.create();
    alert.show();
} else {
    // there's an SDCard available, continue
}

您是否在android清单中请求写入SD卡的权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


我也有同样的问题。在我更新SDK之前,我的应用程序运行良好。它现在需要WRITE_EXTERNAL_STORAGE权限才能写入SD卡。

该代码的工作原理与Android 1.5或更早版本相同。任何更新的应用程序都需要在其清单中明确请求“写入外部存储”权限。

因此,不可能创建SD卡上没有的TMP文件吗?因为那太糟糕了。