这怎么给应用授权外置存储器初始化失败修改权限啊?急急急!!!

如何正确获得手机的内置,外置SD卡路径?
[问题点数:40分]
本版专家分:0
结帖率 97.14%
CSDN今日推荐
本版专家分:0
本版专家分:160
本版专家分:200
本版专家分:200
本版专家分:90
本版专家分:90
本版专家分:200
本版专家分:90
本版专家分:96
本版专家分:0
本版专家分:96
本版专家分:0
本版专家分:96
本版专家分:0
匿名用户不能发表回复!
其他相关推荐新手问题,PIC怎么外接flash存储器呢,串口还是并口? - 捷配电子市场网
新手问题,PIC怎么外接flash存储器呢,串口还是并口?
作者:fesel 栏目:
新手问题,PIC怎么外接存储器呢,串口还是并口?PIC怎么外接存储器呢,串口还是并口,程序怎么写?还请高手指教一二
作者: xieyuanbin 于
16:22:00 发布:
目前除18系列外其它的不支持外扩程序存储器至于数据存储器,有串口,并口的,具体每种存储器都不一样,请参考具体数据手册。
作者: ad827 于
10:37:00 发布:
24 93 25 的其余18的用并口的老27 28 29 速度快便宜接nand也不是不可以 11条线而已
作者: fesel 于
16:12:00 发布:
并口外接的数据存储器中的数据该怎么编程去读取呢?,看不懂你的器件名称啊。并口外接的数据存储器中的数据该怎么编程去读取呢?如单片机地址线是16位的,能够查找的地址范围也就是64K,现在并联外接一块数据存储器,,容量4M(*8),单片机是怎么去辨认中这么大的存储空间并读取数据的呢?
作者: J.N 于
19:45:00 发布:
呵呵,2楼xieyuanbin不是回答了么?呵呵,2楼xieyuanbin不是回答了么?目前除18系列外其它的不支持外扩程序存储器 至于数据存储器,有串口,并口的,具体每种存储器都不一样,请参考具体数据手册。
作者: rad.zhu 于
23:01:00 发布:
在PIC网站上有应用手册在PIC网站上有相关应用手册
作者: fesel 于
10:23:00 发布:
这个单片机与外部存储器接口电路怎么设计?新手请教,这个单片机外部存储器接口电路怎么设计?这是个测试电路,说明图如下。外部存储器----------〉输出数据--------------------------〉被测试芯片----〉输出信号回检&&&&&&^&&&&&&&&&&外存8条数据线输出&&&&&&&&&&&芯片20条输入信号线&&&&&&&&16位|地址线输出到外存&&&&PIC单片机&----复位信号================================我把一个数据块(需要存储的数据较大,达到几M ,是用来作为被测试芯片的输入管脚的时序信号的)放入外接存储器,然后在单片机的控制下读取这些数据作为有20个输入口的芯片的输入信号。问题点:1,单片机地址线能够扩展到16位,识别的空间是64K,而外接存储器的空间有1M以上,单片机是怎么去查找外部存储器这么大的空间地址的呢,特别是在并口外接的情况下,难道地址总线是分两次输入的,但是这样的话外存又是怎么来辨别前后两次输入地址的呢,怎么去找到具体地址并读出数据的呢?&&&&&&&&&&&&&&2,容量在1M以上的,并口的有SST39VF040/080等,串口的有哪些型号呢?&&&&&&&&&&&&&&3,外部存储器数据线一般都是8条,而我需要输入芯片的数据要分三次读出20位并同时输入被测试芯片的20条输入管脚中中,怎么办呢?使用两个锁存器吗,那单片机又怎么去控制它们保持同步输入芯片管脚呢?
作者: ad827 于
10:05:00 发布:
39xx040不是传统的!!!请先看文档!印象中两种接口方式,一种专用于BIOS,另一种比较适合用类似于NAND的寄存器方式操作。 16都可以用,只要管脚够,所有的操作函数估计耗费1K左右的PM。
作者: fesel 于
12:24:00 发布:
内存空间64K的PIC怎么寻址几兆大的外部存储器啊?谢谢。再问大虾,内存空间64K的PIC怎么寻址几兆大的外部存储器啊。PIC的地址线最多扩充到16条,寻址范围64K,现在的存储空间有几兆,怎么去寻址呢,难道是连续两次输入地址?&
作者: rad.zhu 于
13:17:00 发布:
超出寻址范围的办法如果你要寻址的范围超出了MCU的地址总线,其实还是有办法的。比如你要寻址空间的数据,需要先送最高的01,然后在送0000地址的时候送读的信号,当然很多时候16bit地址是分高低的。需要注意的是:PIC18系列实际可以提供20bit的地址线,因此你可以考虑是否需要额外IO来控制地址线。
作者: ad827 于
18:52:00 发布:
什么乱七八糟的?拜托先看看39xx040的文档,先看看有多少地址线?寄存器方式的,不是传统的27 28 29的地址方式寻址。
作者: fesel 于
8:56:00 发布:
寄存器方式寻址?寄存器方式寻址?27,28,29又是什么意思呢?
作者: xieyuanbin 于
11:20:00 发布:
若是张工在,砖头早把你砸死了。&
作者: ad827 于
11:36:00 发布:
作者: xieyuanbin 于
12:30:00 发布:
是楼主,不好意思。&
作者: rad.zhu 于
15:01:00 发布:
要根据你选择的要根据你选择的来设计。楼主,我建议你先选择好,否则大家无法给你建议。
作者: fesel 于
16:49:00 发布:
我选用做闪存我选用做闪存
作者: fesel 于
17:02:00 发布:
又,数据存到闪存里面的格式是怎样的呢?又怎么被读出来呢又,数据存到闪存里面的格式是怎样的呢?还有单片机读取闪存数据的原理怎样,程序怎么写?&
作者: ad827 于
11:55:00 发布:
如果有这么多问题,如果您自己根本没有去想一想这些问题我看谁也帮不了你,多动动自己的脑子。
作者: fzchips 于
17:34:00 发布:
又,数据存到闪存里面的格式是怎样的呢?又怎么被读出来呢请看18的表读表写
作者: rad.zhu 于
20:24:00 发布:
多点宽容楼主:&&&要有信心,这款并口的操作比较简单。 &&&首先确保硬件连接的正确,包括地址线,数据线以及读写信号线。&&&以PIC18来说:&&&RD,RE,RH的部分 可以用做地址和数据线。&&&RD,RE是地址数据复用的,需要考虑琐存RJ0就可以提供锁存信号。&&&对来说最后还要考虑读写以及片选,这几个信号楼主可以从RJ其他口线中寻找。&&&之所以一定需要使用这些口线是楼主可以查看PIC18系列的读写表格命令,这里就不详细说了,总之和51的MOVX指令的用法雷同。&&&软件上,主要是针对来说。&&&楼主需要看的手册,里面对读写操作的要求,例如:&&&需要先送xxAA到,再送xx55到2AAAA,然后是xxAO到,然后就可以送数据和地址。&&&根据手册要求的命令序列操作就可以了。&&&关键是要对PIC18读表指令的时序了解清楚,这个PIC18的手册做的不好楼主可以参考AN869的应用笔记,里面详细介绍了如何进入外部存储器的访问模式,以及指令的时序。
作者: fesel 于
17:20:00 发布:
谢谢rad.zhu的帮助和鼓励谢谢rad.zhu的帮助和鼓励.我一定会努力去学习搞懂的&
作者: eeproom 于
7:45:00 发布:
为什么不去看数据手册?懒汉铁&
作者: 呵呵 于
14:06:32 发布:
除了21楼,全是装b的
讨论内容:
Copyright &
www.dzsc.com 浙ICP证030469号不知道你有么有发现,来自菜鸟的成长史:,
KitKat之后的版本不再支持用户对外置SDcard(Secondary Storage)的写入等操作。如果用户想要将文件等copy到手机中,则只能
存储到内部存储器中,而无法存储到外置sdcard中,而且无法创建新的文件夹,这样一来给用户和开发者都带来了一定的不便。之所
以在KitKat之后版本中无法操作外置Sdcard,是因为Google更改了此模块的权限,以前我们可以直接获取WRITE_EXTERNAL_STORAGE
和READ_EXTERNAL_STORAGE权限来直接操作Sdcard,现在则不能,其目的是软件卸载时能将该软件创建的文件全部删除。据Google
员工Jeff SharKey(此模块的开发者)介绍,自Kitkat之后Anroid提供了新的API去访问Secondary External Storage,但这不是本文重点,本
文重点是分析外部存储权限是如何作用的。
在KitKat之前的Android版本会给应用程序单独分出一块外部存储空间(external storage),这块存储空间可能在sdcard
(可插拔的外置sdcaard)上,也可能在仅仅是在设备内部的闪存上,我们要获得WRITE_EXTERNAL_STORAGE权限在能对这块
空间进行访问,如果只是读取内容则不需要权限。在4.4 KitKat及之后的版本中,Google做了两个变化:1、进行读取时需要
READ_EXTERNAL_STORAGE权限;2、访问应用所属的目录下(如:android/data/[package name])存储的数据是不需要任
何权限的。
KitKat中,外部存储(external storage)被分割成了多个部分:一个“primary”部分,一个或多个“secondary”部分。在Kitkat之前的
API 可以用来操作 primary external storage,secondary external storage 是对write权限做了稍微修改,与上边所述一样,在应用所
所属的目录(如:android/data/[package name])下,对文件是有所有操作权限的,在应用所能管理到目录之外,该应用则不具有写
的权限,不能进行任何写的操作。这里也就引出了本文的重点。ps:Google虽然没有要求各厂商在Sdcard的操作上添加额外权限,但
是它却强制要求制造商对secondary external storage做了权限限制。如果你对Internal storage和external storage有疑问,可以看看文
https://developer.android.com/guide/topics/data/data-storage.html#filesInternal
根据Jeff SharKey 的介绍,当前版本的Android系统,也就是Kitkat,使用FUSE ( ) 对external storage进
行管理。为了在文件创建时获取必要的权限,动态地接受或拒绝来自用户/组的个别请求,会有一个参与与FUSE 内核
驱动的交互。这仅仅是Android在FAT File System 格式化后的可移动卷上使用Linux型权限的一部分,在内核中它也允许使用超出基本的
owner/gouper/user 执行的多级权限控制。看看下面Jeff Sharkey的解释:
在4.4之前,framework api对存储卷(storage volumes)的操作并没有很大的改变,设备制造商可以创建单个“primary”卷或者多个“secondary”
卷,而这些不同的卷都能被系统服务StorageManager和MountService管理,这中情况下访问“primary”部分就像访问单个external storage一样。
很多设备有Sd卡,但是都没有把它当作external storage,实际上这就是这些设备的“secondary volume”。例如,三星的Galaxy系列就是属于这
一类,从权限方面来说,sd卡其实像外部存储卷一样被管理,但是作为设备的“secondary external storage",是没有API可以进行写的操作的。
下面的这段代码来自AOSP
mkdir /mnt/shell/emulated 0700 shell shell
mkdir /storage/emulated 0555 root root
mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw
mkdir /storage/sdcard1 0700 root root
export EXTERNAL_STORAGE /storage/emulated/legacy
export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
export EMULATED_STORAGE_TARGET /storage/emulated
export SECONDARY_STORAGE /storage/sdcard1系统内部的应用可以访问secondary storage的任何部分,对于第三方应用几乎不可能(目前、、等几个文件应用通过
特别的解决方法可以实现对某些机型外部存储文件的操作)。(关于如何在4.4上操作文件可以参考。自4.4开始,Google引入
SAF框架(),如果Google以后不改变现在对4.4系统外置sd的操作权限,对于开发者而言,熟悉SAF框架也许是必要的。
另,在4.4系统内部应用中,你会发现有一个叫DocumentUI的apk,这个就是用来处理SAF的一些接口的。)
在external storage下的目录文件拥有相同的权限,如下:
4.4 设备:
root@generic:/storage/sdcard # ll
d---rwxr-x system sdcard_rw
13:20 Alarms
d---rwxr-x system sdcard_rw
13:21 Android
d---rwxr-x system sdcard_rw
13:20 DCIM
d---rwxr-x system sdcard_rw
13:20 Download
d---rwxr-x system sdcard_rw
13:18 LOST.DIR
d---rwxr-x system sdcard_rw
13:20 Movies
d---rwxr-x system sdcard_rw
13:20 Music
d---rwxr-x system sdcard_rw
13:20 Notifications
d---rwxr-x system sdcard_rw
13:20 Pictures
d---rwxr-x system sdcard_rw
13:20 Podcasts
d---rwxr-x system sdcard_rw
13:20 Ringtones
root@generic:/storage/sdcard # ll Android/data/
drwxrwx--- system sdcard_rw
13:21 com.google.android.apps.maps
4.4 设备:
root@generic:/storage/sdcard # ll
drwxrwx--- root sdcard_r
23:35 Alarms
drwxrwx--x root sdcard_r
23:36 Android
drwxrwx--- root sdcard_r
01:33 DCIM
drwxrwx--- root sdcard_r
23:35 Download
drwxrwx--- root sdcard_r
04:33 LOST.DIR
drwxrwx--- root sdcard_r
23:35 Movies
drwxrwx--- root sdcard_r
23:35 Music
drwxrwx--- root sdcard_r
23:35 Notifications
drwxrwx--- root sdcard_r
23:35 Pictures
drwxrwx--- root sdcard_r
23:35 Podcasts
drwxrwx--- root sdcard_r
23:35 Ringtones
root@generic:/storage/sdcard # ll Android/data/
drwxrwx--- u0_a33 sdcard_r
23:36 com.google.android.apps.maps
root@generic:/storage/sdcard # ll Android/data/com.google.android.apps.maps/
drwxrwx--- u0_a33 sdcard_r
23:36 cache
drwxrwx--- u0_a33 sdcard_r
23:36 testdata
注意:在4.3中,sdcard_rw组有全部的读写权限,在Kitkat中,sdcard_r 组有 +rwx 所有权限,实际上这是明显不对的。并不等表示全部,
因为Fuse守护进程会在运行时中积极地参与修改应用的权限。这对File APIs canWrite(),canRead()和canExecute()的执行结果有很大的影
响,这些方法返回的值被单独地记录在内核文件系统中,所以他们都会返回true,即使试图以POSIX打开文件也会失败。(在4.4的外置sd
卡上,是不能在文件夹写入一下文件的,但是当你试图调用canWrite()方法来判断该文件夹是否可写时,它仍会返回true值,所以此法不可取)
android.permission.WRITE_EXTERNAL_STORAGE权限被授给sdcard_r组和sdcard_rw组的成员,但在kitkat中认证write权限需要一些动
态的检查,因此FUSE守护进程会被用来补充文件系统的权限,FUSE守护进程会强制赋予拥有特定目录的App每个权限(也就是访问自身数
据存储的目录android/data/pack-agename...及一些公共目录)。对于sdcard_rw组中使用-w标志配置的非默认所有者,FUSE守护进程也会强
制赋予write-protected权限。
service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
class late_start
service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1
class late_start
disabled从上面两句程序可以看到,FUSE守护进程强制控制GID 1023(media_rw,系统应用才有)才能对secondar storage进行写操作。再引入
一个问题,在4.4中将external storage 分为primary和secondary,在primary部分(内置sdcard)是可以进行写操作的,而在secondary部分
(外置sdcard)是不允许的,那FUSE Daemon是如何区分控制的呢?据Jeff 解释说: “-w 2013" 就表明了强制使用media_rw GID才能在
secondary部分具有write权限。
下面我们就梳理一下,如果在拥有外置sd卡的kitkat设备上进行文件操作,对于开发者而言哪些能做、哪些不能做?下图给出开发者会尝试
的一些操作及结果:
总结一下,自4.4开始Google对secondary volume做了限制之后,不仅为用户带来了不便,也为设备制造商及开发者带来了诸多不便,华为
更是为此给开发者们发了一份通告:。如今,除了一些OEM厂商自行修改权限后的Rom对
第三方应用没有限制外,大牛们也为已Root的设备用户提出修改platform.xml文件来修改权限(具体放法请百度之)以使第三方应用可以操作
外置sd卡;还有一些上面提到的文件管理工具也可以操作外置sd卡。不管Google做限制的初衷是什么,希望Google从用户的角度来考虑问题,
对Android系统做出更好的该进。在此感谢一下 文件管理工具的开发者 在G+对我问题的及时解答及帮助,同时也感谢一下给
Tod Liebeck解决Kitkat外置sd文件操作方案的X-plore的开发者。
android6.0 fuse文件系统的挂载和卸载问题
android4.4 的时候vold,也是利用fuse文件系统达到,将sd卡的目录(storage目录)获取sd实际挂载目录(mnt/media_rw)的权限。但是android4.4的时候vold只...
Android6.0权限适配之WRITE_EXTERNAL_STORAGE(SD卡写入)
前一篇博客中介绍了Android6.0运行时权限简介,最近遇到这么一个情况,就是一个App以前都是在SD卡根目录直接新建了一个XXX/image/目录,来保存图片缓存的,但是如果适配到Android6...
Android 外置SDCard读写权限总结
在Android中SD卡的读写权限会经常用到,但由于最近的几个版本对该部分一直在做相应的变动,所以在此做个总结,梳理一下。
主要的权限为:android.permission.READ_EXTERN...
android sdcard 权限管理策略研究
自从android4.4 以来,第三方应用程序是不能再随便的访问sdcard了,从开发者的角度而言,研究一下android系统到底是怎么样来实现这样的控制还是比较有价值的。
首先分析下现状,现在已知,...
Android 总结外置 内置SD卡路径问题
我们先来看下android5.1 init.rc中
mkdir /mnt/shell/emulated 0700 shell shell
mkdir /storage/emulate...
Android 4.4 U盘挂载
在Android4.4系统下,ES文件浏览器读取不到U盘,但是在设置-&存储里面是可以看到U盘的,另外一块板子是4.2系统的,一切正常,用串口看了下发现
正常的板子,U盘挂在/mnt/udisk下,不...
Android 4.4 KitKat 支持 u 盘功能
Android U 盘功能实现和分析
u 盘功能实现结果:
u 盘会当成 usb storage 在 Settings Storage 里面显示。
内核需支持 u...
在Android6.0上给外置SD卡增加一个路径
看了前面的博客大家都发现,android6.0上vold对外置sd卡挂载都采用在storage增加一个sd卡的uuid的名字,作为文件名。
但是之前我们系统中很多系统应用都是直接写死的外置sd卡路径...
Android6.0 otg插入U盘 流程
之前分析过vold插入sd卡的流程,本以为otg插入U盘与sd卡走的流程一样。想不到还是有差别的,下面我们来分析下:
一、kAdoptable flag
先来看otg插入卡,后handle...
没有更多推荐了,||||||||||||||||||
查看: 35840|回复: 55
在线时间492 小时经验值1247 最后登录注册时间帖子阅读权限80UID1427271
研究生, 积分 1247, 距离下一级还需 453 积分
TA的每日心情郁闷 18:55签到天数: 18 天[LV.4]偶尔看看III
G币504 最后登录注册时间
本帖最后由 a 于
12:58 编辑
申请回复可见啊....
在Android开发者网站的 &外部存储技术信息&文档中描述道 :
& && & WRITE_EXTERNAL_STORAGE只为设备上的主要外部存储授予写权限, 应用程序无法将数据写入二级外部存储设备 , 除非综合权限指定了应用程序的包目录.
& && & 这目前只影响双存储设备, 如果你的设备有内部存储空间, 即通常所说的机身存储(这就是指主要外部存储), 那么你的SD卡就是一个二级外部存储设备.
& && & 在Android 4.4中, 如果你同时使用了机身存储和SD卡, 那么应用程序将无法在SD卡中创建、修改、删除数据. 比如, 你无法使用多看下载书籍保存到外置存储卡了. 但是应用程序仍然可以往主存储的任意目录中写入数据, 不受任何限制. Google表示,&&这样做的目的是, 通过这种方式进行限制, 系统可以在应用程序被卸载后清除遗留文件.
安卓4.4.2无法下载保存外置存储卡的解决办法
添加外置卡的写入权限:
RE管理器, 用文本编辑器打开/system/etc/permissions目录下的“platform.xml”文件(挂载读写),在
& && & &permission name=&android.permission.WRITE_EXTERNAL_STORAGE& &
& && & & group gid=&sdcard_r& /&& &(此行代码有些刷过的rom没有, 没有的可以忽略不计)
& && & & group gid=&sdcard_rw& /&
& && & 下面添一行
& && & &group gid=&media_rw& /&
& && & (注意段首对齐,&media_rw&和/&之间有空格) 保存并退出,重启系统即可.
<p id="rate_22085" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_41651" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_71658" onmouseover="showTip(this)" tip="很给力!&经验值 + 2
" class="mtn mbn">
在线时间492 小时经验值1247 最后登录注册时间帖子阅读权限80UID1427271
研究生, 积分 1247, 距离下一级还需 453 积分
TA的每日心情郁闷 18:55签到天数: 18 天[LV.4]偶尔看看III
G币504 最后登录注册时间
在线时间78 小时经验值890 最后登录注册时间帖子阅读权限70UID3956844
学士, 积分 890, 距离下一级还需 210 积分
TA的每日心情擦汗 09:48签到天数: 239 天[LV.7]常住居民III
G币1934 最后登录注册时间
技术贴,支持一下
在线时间1598 小时经验值4989 最后登录注册时间帖子阅读权限120UID670206
导师, 积分 4989, 距离下一级还需 1111 积分
TA的每日心情奋斗 13:26签到天数: 103 天[LV.6]常住居民II
G币1393 最后登录注册时间
论坛上很多了..全通用的....
[/url]农民好苦
在线时间0 小时经验值1644 最后登录注册时间帖子阅读权限80UID
研究生, 积分 1644, 距离下一级还需 56 积分
TA的每日心情开心 13:16签到天数: 903 天[LV.10]以坛为家III
G币7284 最后登录注册时间
在线时间436 小时经验值412 最后登录注册时间帖子阅读权限60UID2471140
大学本科, 积分 409, 距离下一级还需 291 积分
TA的每日心情擦汗 17:24签到天数: 4 天[LV.2]偶尔看看I
G币169 最后登录注册时间
感谢楼主分享,已成功
在线时间0 小时经验值6 最后登录注册时间帖子阅读权限10UID
幼儿园, 积分 6, 距离下一级还需 9 积分
该用户从未签到
G币12 最后登录注册时间
RE: 三星s5安卓4.4.2限制外置SD卡写入权限的破解方法 [[url=]修改[/url]]
在线时间1925 小时经验值3778 最后登录注册时间帖子阅读权限110UID1595508
博士后, 积分 3778, 距离下一级还需 922 积分
TA的每日心情开心 08:37签到天数: 3 天[LV.2]偶尔看看I
G币1892 最后登录注册时间
支持一下。
用过Ipad2 i p6800 note3 S5
在线时间20 小时经验值810 最后登录注册时间帖子阅读权限70UID
学士, 积分 810, 距离下一级还需 290 积分
TA的每日心情奋斗 16:42签到天数: 1 天[LV.1]初来乍到
G币156 最后登录注册时间
支持一下。
在线时间1925 小时经验值3778 最后登录注册时间帖子阅读权限110UID1595508
博士后, 积分 3778, 距离下一级还需 922 积分
TA的每日心情开心 08:37签到天数: 3 天[LV.2]偶尔看看I
G币1892 最后登录注册时间
用过Ipad2 i p6800 note3 S5
浏览过的版块
Powered by

我要回帖

更多关于 外置usb存储器 的文章

 

随机推荐