Eclipse中<uses-permission>和<permission>和<uses-feature>区别

来源:互联网 发布:软件系统结构图阶段 编辑:程序博客网 时间:2024/04/28 21:14

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 > 元素。

0 0
原创粉丝点击