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进阶驿站