在2x的版本中,在manifest中配置的权限androidpermissionWRITE_EXTERNAL_STORAGE确实是用来使得sd卡获得写的权限。而在40开发的源码当中,由于有了内外置sd卡的区分,androidpermissionWRITE_EXTERNAL_STORAGE的权限用来设置了内置sd卡的写权限,如果在manifest中只是配置了这个权限,那个应用只能在内置sd卡中进行写操作,还是无法在外置sd卡中进行写操作。
需要写外置sd卡的话,需要配置另一个权限androidpermissionWRITE_MEDIA_STORAGE,这样就可以在外置sd卡中进行写入操作了。
这两个权限都被定义在 android源码目录\frameworks\base\data\etc\platformxml中:
<permission name="androidpermissionWRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
</permission>
<permission name="androidpermissionWRITE_MEDIA_STORAGE" >
<group gid="media_rw" />
</permission>
使用到的类主要是framework/base/core/java/android/os/storage/StorageVolumejava及相同目录下的StorageManagerjava文件。
StorageManager类可以获得所有的存储媒体列表,及StorageVolume类型的数组,从而可以获得对应存储是否可读写一类的信息。
如果是安卓60的外置SD卡的话可以先打开设置,然后应用程序——应用程序管理器,再打开某个软件——存储——选择已使用的存储空间,然后点更改,选择SD卡,这样就可以了。
sd卡无法获取读写权限的原因是:
1、sd卡开了读写保护。
2、sd卡有严重错误。
3、sd卡接触不良。
4、读卡器有问题。
5、sd卡物理损坏。
建议按照以下方法来逐步解决:
1、看看有无开启读写保护,如果有保护,先去掉。
2、利用磁盘修复程序对SD卡进行修复。打开我的电脑,找到SD卡的盘符,在其上点击右键,选择”属性”—“工具”,点击“检查”,在弹出的“检查磁盘”对话框中同时选中“自动修复文件系统错误”和“扫描并尝试恢复坏扇区”两项,点击“开始”执行修复操作。
3、sd卡由于长时间插拔,导致了金属接触片(类似内存金手指)有氧化或磨损的现象,找块橡皮,在金属片上来回擦几遍,一般没有大的破损都可以解决。
4、检查读卡器是否存在硬件故障。找另一个读卡器来做测试,如果新换的读卡器能够正常读写sd卡中的数据,说明读卡器坏了,换个读卡器即可。
5、下载sd卡修复工具进行修复。
6、上述办法都不行,那可能是sd卡出现物理损坏,基本上修复不了。
bilibili 可以在“应用权限”里设置获取外置SD卡读写权限。
具体操作如下:
1、打开手机“设置”。
2、在设置中打开“应用程序”。
3、找到bilibili(哔哩哔哩),点击打开。
4、在其设置里,选择“权限”。
5、点击右上角的“所有权限”。
6、点击“读取您的SD卡中的内容”。
7、在弹出的窗口中选择“确定”。
8、返回“所有权限”界面,点击“修改或删除SD卡内容”。
9、在弹出的界面中,点击“确定”即可。
在智能手机中,SD读写权限通常由操作系统管理。如果应用程序需要访问或修改存储设备中的数据,它需要获得相应的SD读写权限。这些权限可以通过Android系统的权限管理机制进行设置和控制。
如果没有SD读写权限,应用程序将无法读取或写入存储设备中的数据。例如,如果一个应用程序需要读取存储在手机上的照片或视频,它需要获得读取SD卡的权限。如果需要向存储设备中写入数据,例如上传照片或视频,应用程序需要获得写入SD卡的权限。
总之,手机SD读写权限是控制手机存储设备读写操作的重要权限,对于应用程序的功能和使用非常重要。
开启手机的sd卡权限步骤如下:
找到设置并打开
找到权限隐私并打开
找到按应用管理权并打开,如图中2位置所示
之后可以找到应用把那个打开应用名称后的小箭头,如图所示
找到sd卡权限并打开如图所示界面,点击允许或询问或禁止,完成之后退出。
1首先请安装「Root
Explorer」这个app,它可以在已ROOT的手机中管理隐藏的系统核心档案。
2安装完成并开启Root
Explorer以後,展开「/system/etc/permissions/」路径,然後在「platformxml」上长按。
3跳出「Options」选单以後,先按一下「Permissions」,我们要更改档案的权限才能写入文字。
4此时会跳出一个警告讯息,告知你目前系统内的档案为唯读模式,需先更改为读写模式,按下「Yes」即可更改。
5更改完成以後,将「Read」、「Write」、「Execute」项目都勾起来,然後按一下「OK」。
6权限更改完成以後,再次在「platformxml」上长按一次。
7跳出「Options」选单以後,这次我们点击「Open
With」,选择用哪个app开启此档案。
8看到显示了一堆app,我们选择用「Text
Viewer」来开启,如果读者们有其他的文字编辑app,也可以用它来开启。
9找到以下两段文字以後,将内容改成跟底下一样:
10更改完成以後,点击一下叫出选单,点击「Save
Changes」储存更改,然後离开即可。
11储存成功以後,可以看到资料夹中多了一个「platformxmlbak」档案,往後要还原时,只要将「platformxml」删除,然後把「platformxmlbak」更改回原来名称即可。
12最後重新开启手机,即可让设定生效罗!
NOTE:
坊间已经有直接可以修改SD卡写入权限的app出现,但因为安全因素,我们还是自行手动修改比较安全。
欢迎分享,转载请注明来源:品搜搜测评网