手机磁盘权限设置目录没有读取权限

180801人阅读
android之恋(89)
在Android中,要模拟SD卡,要首先使用adb的mksdcard命令来建立SD卡的镜像,如何建立,大家上网查一下吧,应该很容易找到,这里不说这个问题.
& & 但是在应用程序执行起来以后,我们可以看到sdcard的执行权限很有问题.懂Linux的人都知道,这样的权限是无法在SD开中写入内容的,也就无法建立目录.Android中对sd卡的读写权限问题
& & 但是,我们在adb shell命令中,依然可以在sdcard中建立目录,写入文件.这倒是也是见鬼的事情.但是,如果你想把权限更改成777,命令行并不报错,再使用ls -l查看一下,权限依然没有改变过来.我们急中生智,使用su命令将自己变成root用户,在使用chmod 777 sdcard来改变权限,发现结果依然无效.
& & 网上多有介绍,在Android的manifest.xml文档中加入下面的声名:
& & &uses-permission android:name=&android.permission.WRITE_EXTERNAL_STORAGE&/&
& & &uses-permission android:name=&android.permission.MOUNT_UNMOUNT_FILESYSTEMS&/&
& & 试验之后,大多数人发现依然无效.没有人再把问题叙述得更详细些,不知道是什么样的心态?我的一个弟兄终于找到了问题所在.
&?xml version=&1.0& encoding=&utf-8&?&
&manifest xmlns:android=&/apk/res/android&
& && &package=&byd.eagle&
& && &android:versionCode=&1&
& && &android:versionName=&1.0&&
& & &uses-permission android:name=&android.permission.WRITE_EXTERNAL_STORAGE&/&
& & &uses-permission android:name=&android.permission.MOUNT_UNMOUNT_FILESYSTEMS&/&&&
& & &application android:icon=&@drawable/icon& android:label=&@string/app_name&&
& && &&&&activity android:name=&.EagleBackup&
& && && && && && &android:label=&@string/app_name&&
& && && && &&uses-permission android:name=&android.permission.WRITE_EXTERNAL_STORAGE&/&
& && && && &&intent-filter&
& && && && && & &action android:name=&android.intent.action.MAIN& /&
& && && && && & &category android:name=&android.intent.category.LAUNCHER& /&
& && && && &&/intent-filter&
& && &&&&/activity&
& & &/application&
& & &uses-sdk android:minSdkVersion=&8& /&
&/manifest&
& & 注意一下uses-permission在manifest.xml中的位置,这是解决问题的关键。
& & 那么我们再来写个试验程序:
& & public class TestMakePath extends Activity {
& && & @Override
& && &&&public void onCreate(Bundle savedInstanceState) {
& && &&&super.onCreate(savedInstanceState);
& && &&&setContentView(R.layout.main);
& && &&&try
& && && && & Log.v(&EagleTag&,&.......hahhha&);
& && && && & Log.v(&EagleTag&,Environment.getExternalStorageState());
& && && && & File tPath=new File(&/mnt/sdcard/tmp1&);
& && && && & if(tPath.canRead())
& && && && && &&&Log.v(&EagleTag&,&very bad&);
& && && && & if(tPath.canWrite())
& && && && && &&&Log.v(&EagleTag&,&very good&);
& && && && & File tPathSon=new File(&/mnt/sdcard/tmp1/good&);
& && && &&&tPathSon.mkdirs();
& && && &}
& && && &catch(Exception e)
& && && &{
& && && && & Log.v(&EagleTag&,&file create error&);
& && && &}& && &
& &这回真的没问题了.
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1600166次
积分:11834
积分:11834
排名:第1367名
原创:91篇
转载:178篇
评论:211条
(3)(1)(4)(1)(13)(2)(13)(11)(14)(24)(17)(56)(10)(14)(7)(35)(29)(13)(1)(5)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'没有当前目录访问权限/重装系统后无法访问文件夹解决办法
&&&&&&&& 有的用户重装系统后发现以前可以正常访问的D盘、 E盘、F盘里的一些文件夹或文件不能打开,提示没有访问权限,有的文件夹或文件可以打开,但是想要修改一下却被提示没有修改权限,这给许多用户带来了困惑,这是我自己的电脑,而且我又是以管理员账户登录的,怎么会没有权限呢?
&&&&&&&& 造成这个问题的主要原因是重装系统后设置的用户名与重装前不同,而以前的D盘等磁盘内的文件或文件夹的所有者仍然设置的是重装前的用户名,而不是重装后设置的新用户名,并且也无法添加新设置的用户名的所有控制权到文件或文件夹的安全属性,因此只能修改文件夹的所有者。
&&&&&&&& 下面介绍如何修改所有者。
以C盘为例:
1.&&&&&&&&单击右键;
2.&&&&&&&&在弹出的菜单中,单击左键选择属性;
3.&&&&&&&&切换到安全选项卡下;
4.&&&&&&&&点击 高级 按钮(箭头所示);
5.&&&&&&&&切换到 所有者 选项卡下;
6.&&&&&&&&可以看到图中的所有者是TrustedInstaller,点击编辑按钮;
7.&&&&&&&&在弹出的高级安全设置对话框中,选择下方的将所有者更改为的用户,选择当前登录的用户名
8.&&&&&&&&点击确定,完成。
按照以上方法,依次修改D盘、E盘、F盘等其他非系统盘或某个文件夹。修改完成后即可正常存取硬盘或文件夹。
本文已收录于以下专栏:
相关文章推荐
解决“您当前无权访问该文件夹”的问题
无法访问WIN7 64位系统下的Oracle 11.2.0.1的解决办法
我电脑安装的是win764位旗舰版安装了Oracle 11.2.0.1,本机使用没有任何问题,但其它电脑无法访问我电脑...
这个方法也不是我原创的,但是是我从网上查来,亲自试验成功,
我碰到的一些小故障,新上的服务器开站点全部有问题,都出现401错误,这个错误出现次数太多了,解决很多次了,不外乎就是权限设置,帐户密码同步,目录保护等方面的错误,但是全部检查完之后还是未能解决,也没有...
“网上邻居”无法互访问题解决方法大全
   总结起来基本上有下面的几个:
1,没有共享资源/共享服务未启用。
症状:电脑与电脑间可以Ping通,但无法访问共享资源,在“计算机管理”中查看“...
     当我创建了一个web工程SSH后,并且部署上tomcat后,过了一段时间,我想改web工程的名称为SSH_1,于是,我在MyEclipse工具下,点击工程
名&SSH&--&Refa...
他的最新文章
讲师:汪剑
讲师:刘道宽
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)王者荣耀磁盘目录不具有读写权限
Copyright@ Tencent. All Rights Reserved
腾讯公司 版权所有

我要回帖

更多关于 磁盘目录损坏无法读取 的文章

 

随机推荐