【问题标题】:Android Add <uses-feature> in ManifestAndroid 在 Manifest 中添加 <uses-feature>
【发布时间】:2011-08-17 12:41:49
【问题描述】:

我很困惑在哪里添加

使用功能

清单中的标签。 我在我的应用程序中使用相机。我添加了权限,但我很困惑在哪里添加功能以使用前置摄像头。你能帮忙吗?

【问题讨论】:

    标签: android android-manifest android-camera android-permissions


    【解决方案1】:

    &lt;manifest&gt;标签下添加这个,像这样:

        <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                  package="com.lalllala">
           <uses-permission android:name="android.permission.INTERNET" />
           <uses-permission android:name="android.permission.VIBRATE" />
           <uses-feature android:name="android.hardware.camera" />
              <application android:icon="@drawable/icon" android:label="lalla" android:debuggable="true">
    
              </application>
        </manifest>
    

    【讨论】:

    • +1 如果你也加了&lt;uses-feature...&gt;的例子,那就更好了:)
    【解决方案2】:

    &lt;uses-feature&gt; - 声明应用程序使用的单个硬件或软件功能。

    声明的目的是通知任何外部实体您的应用程序所依赖的硬件和软件功能集。该元素提供了一个 required 属性,可让您指定您的应用程序是否需要并且在没有声明的功能的情况下无法运行,或者它是否更喜欢拥有该功能但可以在没有它的情况下运行。由于功能支持可能因 Android 设备而异,因此该元素在让应用程序描述其使用的设备变量功能方面发挥着重要作用。 read for more

    以下是访问Device Front Camera

    的示例代码
    public Camera openFrontFacingCamera() {
    int cameraCount = 0;
    Camera ffCam = null;
    Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
    
    // Find the total number of cameras available
    cameraCount = Camera.getNumberOfCameras();
    
    // Find the ID of the CAMERA_FACING_FRONT & open it
    for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
        Camera.getCameraInfo(camIdx, cameraInfo);
        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
            try {
                ffCam = Camera.open(camIdx);
            } catch (RuntimeException e) {
                Log.e(TAG, "Camera failed to open: " + e.getLocalizedMessage());
            }
        }
    }
    
        return ffCam;
    }
    

    需要以下权限

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.camera.front" android:required="false" />
    

    更多信息请阅读Google android developer API docCamera,Camera.CameraInfo

    【讨论】:

    • 您从开发站点复制并发布了此内容,并没有表现出实际回答 OP 问题的努力。失败
    • 你是对的,我这样做是因为这是最好的解释 why to use &lt;uses-feature&gt; tag in manifest by Google 'android_developer' site。我在这里复制了文字,只是为了有一个简短的解释,如果人们想阅读更多内容,请点击它的页面链接。
    • 我们不能简单地说 吗?
    • &lt;uses-feature&gt; 唯一目的是通知任何外部实体您的应用程序所依赖的硬件和软件功能集。 简而言之,我们可以说 uses-feature 元素描述了您的应用程序使用的设备变量功能。 其中,&lt;uses-permission&gt; 请求必须授予应用程序才能使用的权限正确操作。 安装应用程序时,用户授予权限。不允许合并这两者。
    【解决方案3】:

    在清单标签下添加:

    <!-- Request the camera permission -->
        <uses-permission
            android:name="android.permission.CAMERA" />
        <uses-feature
            android:name="android.hardware.camera"
            android:required="true" />
    

    【讨论】:

      【解决方案4】:

      这样写标签顺序

      <manifest>
          <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
          <uses-permission android:name="android.permission.CAMERA" />
      
          <uses-feature android:name="android.hardware.camera.autofocus" />
      
          <application>
      
          </application>
      </manifest>
      

      【讨论】:

      • 只需像这样更改标签顺序,然后查看 androidmanifest xml 文件 dtd 或 xsd
      猜你喜欢
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-30
      • 2012-09-20
      • 2012-03-19
      相关资源
      最近更新 更多