0

07-24 12:36:23.742: W/System.err(10386): java.io.IOException: 权限被拒绝 07-24 12:36:23.750: W/System.err(10386): 在 java.io.File .createNewFileImpl(Native Method) 07-24 12:36:23.750: W/System.err(10386): at java.io.File.createNewFile(File.java:1257) 07-24 12:36:23.750: W/ System.err(10386): 在 com.android.SignaturePage.FileWrite(SignaturePage.java:414) 07-24 12:36:23.750: W/System.err(10386): 在 com.android.SignaturePage$2.onClick( SignaturePage.java:132) 07-24 12:36:23.750: W/System.err(10386): 在 android.view.View.performClick(View.java:2485) 07-24 12:36:23.750: W/ System.err(10386): 在 android.view.View$PerformClick.run(View.java:9080) 07-24 12:36:23.750: W/System.err(10386): 在 android.os.Handler.handleCallback (Handler.java:587) 07-24 12:36:23.750: W/System.err(10386): 在 android.os.Handler。dispatchMessage(Handler.java:92) 07-24 12:36:23.750: W/System.err(10386): 在 android.os.Looper.loop(Looper.java:130) 07-24 12:36:23.750: W/System.err(10386): 在 android.app.ActivityThread.main(ActivityThread.java:3687) 07-24 12:36:23.750: W/System.err(10386): 在 java.lang.reflect.Method .invokeNative(Native Method) 07-24 12:36:23.750: W/System.err(10386): at java.lang.reflect.Method.invoke(Method.java:507) 07-24 12:36:23.750: W/System.err(10386): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 07-24 12:36:23.750: W/System.err(10386): 在 com .android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 07-24 12:36:23.750: W/System.err(10386): at dalvik.system.NativeStart.main(Native Method)Looper.loop(Looper.java:130) 07-24 12:36:23.750: W/System.err(10386): 在 android.app.ActivityThread.main(ActivityThread.java:3687) 07-24 12:36: 23.750: W/System.err(10386): 在 java.lang.reflect.Method.invokeNative(Native Method) 07-24 12:36:23.750: W/System.err(10386): 在 java.lang.reflect。 Method.invoke(Method.java:507) 07-24 12:36:23.750: W/System.err(10386): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 07 -24 12:36:23.750: W/System.err(10386): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 07-24 12:36:23.750: W/System.err (10386):在 dalvik.system.NativeStart.main(本机方法)Looper.loop(Looper.java:130) 07-24 12:36:23.750: W/System.err(10386): 在 android.app.ActivityThread.main(ActivityThread.java:3687) 07-24 12:36: 23.750: W/System.err(10386): 在 java.lang.reflect.Method.invokeNative(Native Method) 07-24 12:36:23.750: W/System.err(10386): 在 java.lang.reflect。 Method.invoke(Method.java:507) 07-24 12:36:23.750: W/System.err(10386): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 07 -24 12:36:23.750: W/System.err(10386): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 07-24 12:36:23.750: W/System.err (10386):在 dalvik.system.NativeStart.main(本机方法)在 java.lang.reflect.Method.invokeNative(Native Method) 07-24 12:36:23.750: W/System.err(10386): 在 java.lang.reflect.Method.invoke(Method.java:507) 07 -24 12:36:23.750: W/System.err(10386): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 07-24 12:36:23.750: W/System .err(10386): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 07-24 12:36:23.750: W/System.err(10386): 在 dalvik.system.NativeStart。主要(本机方法)在 java.lang.reflect.Method.invokeNative(Native Method) 07-24 12:36:23.750: W/System.err(10386): 在 java.lang.reflect.Method.invoke(Method.java:507) 07 -24 12:36:23.750: W/System.err(10386): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 07-24 12:36:23.750: W/System .err(10386): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 07-24 12:36:23.750: W/System.err(10386): 在 dalvik.system.NativeStart。主要(本机方法)ZygoteInit.main(ZygoteInit.java:625)07-24 12:36:23.750:W/System.err(10386):在 dalvik.system.NativeStart.main(本机方法)ZygoteInit.main(ZygoteInit.java:625)07-24 12:36:23.750:W/System.err(10386):在 dalvik.system.NativeStart.main(本机方法)

我收到错误的代码片段

public  void FileWrite(File aPath,String aBody)
{
    try 
    {
        //System.out.println("@@@@ Inside Try FileWrite @@@@");
        Log.e("BEFORE FILE","BEFORE FILE");
        aPath.createNewFile();
        Log.e("AFTER FILE","BEFORE AFTER");
        PrintWriter out1 = new PrintWriter(aPath);
        out1.write(aBody);  
        //System.out.println (aBody.trim());
        out1.flush();
        out1.close();
    }
    catch (IOException ioe)
    {
        //System.out.println("@@@@ Inside Catch FileWrite @@@@"); 
        ioe.printStackTrace();
    }
}

清单文件具有以下权限

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

请帮助我解决问题。 aPath.createNewFile(); 是发生错误的行

4

2 回答 2

0
 File SignSave=new File("data/data/com.myapp.android.creditcardreader/SignConfirmation"); 
  1. 通常访问此路径需要 root 权限
  2. 您忘记了/数据中的第一个: File("/data/...);

编辑:

您应该将文件存储在sdcard. 您可以通过这种方式访问​​根目录sdcard

File root = Environment.getExternalStorageDirectory()
File aPath = new File (root, "confirmation");
aPath.createNewFile();
于 2012-07-24T07:23:27.100 回答
0

添加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>到您的清单中,它应该可以工作。

于 2012-07-24T07:29:15.080 回答