`
kongweile
  • 浏览: 507008 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Androidmanifest.xml里的<uses-feature>

 
阅读更多

如果你是一个Android用户,而且你有一个老旧的安装有android 1.5 的android设备,你可能会注意到一些高版本的应用没有在手机上的Android Market 中显示。这必定是应用使用了<uses-feature>的结果。



Android Market会根据uses-feature过滤所有你设备不支持的应用。通过使用<uses-feature>元素,一个应用可以指定它所支持的硬件型号,举个例子,有些设备不支持多点触控或者OpenGL ES 2.0,那么过滤器就会过滤需要这些硬件支持(多点触控或者OpenGL ES 2.0)的应用,用户就不会在android market上看到这些应用。



一个<uses-feature>元素包含以下属性:

<uses-feature android:name="string" android:required=["true" | "false"] android:glEsVersion="integer" />



name属性指定了应用的特征,required属性告诉过滤器我们是否在任何情况下必须要需要这个设备的支持,或者仅仅只是“nice to have”。



最后一个属性是可选择的,只是用在需要指定一个OpenGL ES版本的时候。



接下来的几个硬件特征对于游戏开发是非常有用的。



android.hardware.touchscreen.multitouch:它要求设备有一个多点触控的屏幕以支持基本的多点触控交互,就如收缩(放大)图像比例。这些类型的屏幕跟踪多个手指的能力都有所不同,所以你必须确保这个屏幕的性能是能够支持的游戏进行。



android.hardware.touchscreen.multitouch.distinct: 这是一个多点触控的兄弟属性,它要求提设备供完整的多点触控功能。



我们将会在接下来的章节片段中看到多点触控。现在只要记住在当你的游戏需要一个支持多点触控的屏幕的时候,我们可以使用 <uses-feature>元素来剔除所有不支持多点触控的设备,就像下面这样:



<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="true"/>



另外一个在游戏开发中非常有用的是去指定需要的OpenGL ES版本。在本书中,我们只关心OpenGL ES1.0和OpenGL ES1.1就可以了。由于这2者基本上没有什么不同,所以我们也不用去指定<uses-feature>了。然而,有些设备支持更强大的OpenGL ES2.0

如果你的游戏需要更强大的图形处理能力,我们可以指定OpenGL ES 2.0,然后我们的游戏只会被支持OpenGL ES 2.0的设备所看见。注意,在本书中不会使用OPenGL ES 2.0, 我们只是过滤那些不能提供足够图形处理能力的设备。下面显示了我们怎么去实现它。



<uses-feature android:glEsVersion="0x00020000" required="true"/>



它将使我们的游戏只被支持OPenGL ES 2.0 和 假装有相当的图形处理能力的设备所看到。



NOTE: 有些设备所反映的性能特征是不正确的,所以开发你的应用的时候尽量去支持各种不同的设备。要谨慎使用<uses-feature>。



现在就以硬件而言,你的应用已经直接地减少了许多安装量,这将直接影响到你应用的销量。所以当你定义<uses-feature>之前请慎重考虑。举个例子,如果你的游戏需要有多点触控的支持,但是我们也可以思考另外一种方法,是游戏能够在支持单点触控的设备上运行良好,我们就可以写2个路径的代码,分别在两种设备上运行。

 

分享到:
评论

相关推荐

    Androidmanifest.xml文件分析

    一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services... &lt;uses-feature/&gt; &lt;supports-screens/&gt; &lt;/manifest&gt;

    AndroidManifest.xml uses-feature功能详解

    主要介绍了AndroidManifest.xml uses-feature功能,较为详细的分析了Android属性过滤操作的功能与相关技巧,需要的朋友可以参考下

    AndroidManifest.xml &lt;uses-feature&gt;和&lt;uses-permisstion&gt;分析及比较

    主要介绍了AndroidManifest.xml &lt;uses&gt;和&lt;uses&gt;分析及比较的相关资料,需要的朋友可以参考下

    低功耗蓝牙

    &lt;uses-feature android:name="android.hardware.bluetooth_le" android:required="true" /&gt; 18.外加注册一个服务 &lt;service android:name="com.changda.smartsystemlock.bluet.BluetoothLeService" android:...

    abilityshell_ide_java.jar

    &lt;uses-feature android:name="zidane.software.ability" android:required="false" /&gt; 3. 向application节点下新增子节点。 &lt;meta-data android:name="permZA" android:value="true" /&gt; &lt;meta-data android:...

    Android 调用前摄像头拍照存储,根据打开时横竖屏切换preview

    &lt;uses-feature android:name="android.hardware.camera" android:required="false" /&gt; &lt;uses-feature android:name="android.hardware.camera.front" android:required="false" /&gt; &lt;uses-permission android:name...

    MapView的使用

    &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"&gt;&lt;/uses-permission&gt; 四、Activity需要继承自MapActivity 类似如下代码; package com.iceskysl.showmap; import ...

    超精准的Android手机计步器开发

    1.需要在AndroidManifest.xml中添加权限 &lt;!--计歩需要的权限--&gt; &lt;uses android:name=android.permission.VIBRATE&gt; &lt;uses android:name=android.permission.WRITE_SETTINGS&gt; &lt;uses-feature android:name...

    apktool documentation

    -p, --frame-path &lt;dir&gt; - Store framework files into &lt;dir&gt; -t, --tag &lt;tag&gt; - Tag frameworks using &lt;tag&gt; Allow for a finer control over how the files are named and how they are stored. $ apktool if ...

    新版Android开发教程.rar

    � WST (optional, but needed for the Android Editors feature; included in most Eclipse IDE packages ) o JDK 5 or JDK 6 (JRE alone is not sufficient) o Android Development Tools plugin (optional) o Not...

    Android编程实现拍照功能的2种方法分析

    首先,找到AndroidManifest.xml文件里加入用户权限 &lt;uses android:name=android.permission.CAMERA&gt;&lt;/uses&gt; &lt;uses android:name=android.hardware.camera&gt; &lt;uses-feature android:name=android.hardwa

    Android实现拍照和录制视频功能

    本文实例为大家分享了Android实现拍照和录制视频功能的具体代码,供大家参考,具体内容如下 ... &lt;uses android:name=android.permission.CAMERA&gt; &lt;uses-feature android:name=android.hardware

    Android实现摄像头拍照功能

    使用权限:调用手机自身设备功能(摄像头拍照功能),应该确保已经在AndroidManifest.xml中正确声明了对摄像头的使用及其它相关的feature。 &lt;!--摄像头权限 --&gt; &lt;uses android:name=android.permission....

    Android实现调用摄像头

    知识点介绍: 使用权限:调用手机自身设备功能(摄像头拍照功能),应该确保已经在AndroidManifest.xml中正确声明了对摄像头的使用及其它相关的feature 1. 摄像头相关权限设置  &lt;!--摄像头权限 --&gt; &lt;uses ...

    Android编程之单元测试实例分析

    本文实例讲述了Android编程之单元测试用法。...第一步:首先在AndroidManifest.xml中加入下面红色代码: &lt;manifest xmlns:android=”http://schemas.android.com/apk/res/android” package=”com.lee00

    Android实现拍照及图片显示效果

    当应用需要使用相机、NFC等外设时,需要在AndroidManifest.xml中进行声明。 这样,当设备缺少这些外设时,应用商店的安装程序可以拒绝安装设备。 声明示例代码如下: &lt;uses-feature android:name=android....

    计步器的实现

    描述 android计步器的实现,自定义的一个弧形进度条,记步通过手机的传感器来实现,也就是说不支持传感器的机子(应该很老的了... return (int) (dip * density + 0.5f * (dip &gt;= 0 ? 1 : -1)); } /** * 所走的步...

Global site tag (gtag.js) - Google Analytics