5
回答
Android 6.0写sd卡权限问题
华为云实践训练营,热门技术免费实践!>>>   

  我在做一个应用,此应用target SDK为20, compiler SDK为22,即采用的android 5.1.1的编译环境,使用eclipse开发。在Android 6.0系统的手机里面使用,需要拷贝文件到外置sd卡里面,但是发现拷贝失败。不能写sd卡。错误信息如下:

  

11-01 18:14:02.370: D/ljx(5253): dest=/storage/44EF-6209/test1.mp4
11-01 18:14:02.370: D/ljx(5253): fromFile=/storage/emulated/0/456/test1.mp4 toFile=/storage/44EF-6209/test1.mp4
11-01 18:14:02.371: W/System.err(5253): java.io.FileNotFoundException: /storage/44EF-6209/test1.mp4: open failed: EACCES (Permission denied)
11-01 18:14:02.371: W/System.err(5253): 	at libcore.io.IoBridge.open(IoBridge.java:487)
11-01 18:14:02.371: W/System.err(5253): 	at java.io.FileOutputStream.<init>(FileOutputStream.java:87)
11-01 18:14:02.371: W/System.err(5253): 	at java.io.FileOutputStream.<init>(FileOutputStream.java:127)
11-01 18:14:02.371: W/System.err(5253): 	at java.io.FileOutputStream.<init>(FileOutputStream.java:116)
11-01 18:14:02.371: W/System.err(5253): 	at com.ljx2010hxj.permissiondemo.MainActivity.copyFile(MainActivity.java:121)
11-01 18:14:02.371: W/System.err(5253): 	at com.ljx2010hxj.permissiondemo.MainActivity.copy(MainActivity.java:109)
11-01 18:14:02.371: W/System.err(5253): 	at com.ljx2010hxj.permissiondemo.MainActivity$1.onClick(MainActivity.java:54)
11-01 18:14:02.371: W/System.err(5253): 	at android.view.View.performClick(View.java:5265)
11-01 18:14:02.371: W/System.err(5253): 	at android.view.View$PerformClick.run(View.java:21527)
11-01 18:14:02.371: W/System.err(5253): 	at android.os.Handler.handleCallback(Handler.java:815)
11-01 18:14:02.371: W/System.err(5253): 	at android.os.Handler.dispatchMessage(Handler.java:104)
11-01 18:14:02.371: W/System.err(5253): 	at android.os.Looper.loop(Looper.java:207)
11-01 18:14:02.371: W/System.err(5253): 	at android.app.ActivityThread.main(ActivityThread.java:5692)
11-01 18:14:02.372: W/System.err(5253): 	at java.lang.reflect.Method.invoke(Native Method)
11-01 18:14:02.372: W/System.err(5253): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
11-01 18:14:02.372: W/System.err(5253): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)
11-01 18:14:02.372: W/System.err(5253): Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
11-01 18:14:02.372: W/System.err(5253): 	at libcore.io.Posix.open(Native Method)
11-01 18:14:02.372: W/System.err(5253): 	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
11-01 18:14:02.372: W/System.err(5253): 	at libcore.io.IoBridge.open(IoBridge.java:473)
11-01 18:14:02.372: W/System.err(5253): 	... 15 more


   不知道哪位大神遇到过这样的问题,怎么解决的呢?百度的方法如下:

   http://blog.csdn.net/zzw941124/article/details/51262650

   然而此方法并不起作用,判断是否有WRITE_EXTERNAL_STORAGE权限的时候,一直返回的是0,也即时有此权限,但是实际是没有的。

   有没有哪位大神有解决方案的,请不吝赐教。




举报
ljx2010hxj
发帖于1年前 5回/1K+阅
顶部