您的位置:首页 > 移动开发 > Android开发

Android开发踩过的坑(一)

2016-04-25 20:48 381 查看
1.permission与uses-permission区别

在做类似文件管理器的目录列表时,想要获取一个路径(目录路径)下的所有文件文件夹和文件的名字,显然可以使用File类的lists方法获取,然而它就是返回空,检查了一下路径没有问题,而且也判断了是一个目录,然后就去网上搜索,发现是读sd卡权限文件(然而刚才log并没有报permission denied异常。。。),那行,清单文件加上语句:

<permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>


感觉这下可以获取到了吧,呵呵,还是返回null,想了一下,突然发现好像不是permission而是uses-permission,换成uses-permission,也就是这样:

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


果然就可以获取到了。那么permission和uses-permission有什么区别呢,简单来说就是permission是用于用户自己定义权限,可以在组件节点中声明使用该组件需要的权限,而uses-permission是用于申请权限,还是看官方文档靠谱点:

permission:

Declares a security permission that can be used to limit access to specific components or features of this or other applications.

uses-permission

Requests a permission that the application must be granted in order for it to operate correctly.


此问题在stackoverflow上也有人讨论:

http://stackoverflow.com/questions/14450839/uses-permission-vs-permission-for-android-permissions-in-the-manifest-xml-file
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android开发 踩坑