AndroidManifest文件中有三个标签<uses-permission>
和<permission>
和<uses-feature>
,经常会混淆它们的用法,
下面我们来看一下其中的不同:
<uses-permission>
是官方定义的权限,是调用别人的东西的时候自己需要声明的权限;
<permission>
是自己定义的权限,就是别人调用这个程序时需要用<uses-permission>
来声明该权限,这时你的应用才能正常工作。
<uses-feature>
声明一项应用程序需要用到的软、硬件特性。
举个例子来说:
<permission android:name="com.notfatboy.project.VIEW_MYDATA" . . . />
当声明了这个之后,就可以在我的程序中使用这个permission了,比如在我的某个activity中用这个权限保护,如下:
<application . . .>
<activity android:name="com.notfatboy.project.FileManageActivity" . . .
android:permission="com.notfatboy.project.VIEW_MYDATA" . . . >
</activity>
</application>
声明一项 < uses-feature > 的目的,是为了把应用程序所依赖的软硬件特性告知应用程序之外的对象。 本元素给出了一个 required 属性, 用于指定应用程序是否必需该项特性,也即不声明该项特性的话就无法正常运行; 或者最好是提供该项特性,但没有的话也能运行。 由于每种 Android 设备提供的特性各不相同, < uses-feature > 元素发挥着重要作用, 应用程序可以用它来描述其用到的各种设备特性。
由于每一项设备特性必须放在独立的一条 < uses-feature > 元素中声明, 如果应用程序需要用到多项特性,就需要声明多个 < uses-feature > 元素。 例如,假设应用程序需要使用蓝牙和摄像头设备,则应声明两个元素:
<uses-feature android:name="android.hardware.bluetooth" / >
<uses-feature android:name="android.hardware.camera" / >
通常,应该确保为应用程序需要的所有特性均声明了 < uses-feature > 元素。