Bu basit, ancak çalışmıyor. Bir MP3 dosyasının önizlemesi için geçici dosya (daha sonra kalıcı bir depolama dosyası) oluşturmaya çalışıyorum. Aşağıdaki örnek olarak sonekin aşağıdaki varyantları denedi:android createTempFile izin reddedildi mi?
public class StudyFileIo extends Activity {
private static final String TAG = "StudyFileIo";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
File tempFooFile = File
.createTempFile("foo", "dat");
Log.i(TAG, tempFooFile.getAbsolutePath());
} catch (IOException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
}
}
}
Giriş:
09-07 11:25:20.299 E/StudyFileIo(8859): java.io.IOException: Permission denied
09-07 11:25:20.299 W/System.err(8859): java.io.IOException: Permission denied
09-07 11:25:20.299 W/System.err(8859): at java.io.File.createNewFileImpl(Native Method)
09-07 11:25:20.299 W/System.err(8859): at java.io.File.createNewFile(File.java:1160)
09-07 11:25:20.299 W/System.err(8859): at java.io.File.createTempFile(File.java:1224)
09-07 11:25:20.299 W/System.err(8859): at java.io.File.createTempFile(File.java:1182)
09-07 11:25:20.299 W/System.err(8859): at com.mobibob.studyfileio.StudyFileIo.onCreate(StudyFileIo.java:25)
09-07 11:25:20.299 W/System.err(8859): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-07 11:25:20.299 W/System.err(8859): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-07 11:25:20.309 W/System.err(8859): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-07 11:25:20.309 W/System.err(8859): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-07 11:25:20.309 W/System.err(8859): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-07 11:25:20.309 W/System.err(8859): at android.os.Handler.dispatchMessage(Handler.java:99)
09-07 11:25:20.309 W/System.err(8859): at android.os.Looper.loop(Looper.java:123)
09-07 11:25:20.309 W/System.err(8859): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-07 11:25:20.309 W/System.err(8859): at java.lang.reflect.Method.invokeNative(Native Method)
09-07 11:25:20.309 W/System.err(8859): at java.lang.reflect.Method.invoke(Method.java:521)
09-07 11:25:20.319 W/System.err(8859): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
09-07 11:25:20.319 W/System.err(8859): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
09-07 11:25:20.319 W/System.err(8859): at dalvik.system.NativeStart.main(Native Method)
ben eksik bazı AndroidManifest.xml ayarı (varsayılan manifestosunu kullanıyorum) var mı?
Teşekkürler Marc. Formu diziyle denedim, ancak hala erişemediğim bir dizini getCacheDirectory sağladım. Öneriniz işe yaradı. Bu arada, getBaseContext() konumuna geçtim. OpenFileOutput (...) – mobibob