相关疑难解决方法(0)

Android camera android.hardware.Camera deprecated

if android.hardware.Camera is deprecated and you cannot use the variable Camera, then what would be the alternative to this?

android android-hardware android-camera

93
推荐指数
2
解决办法
10万
查看次数

Nexus 5x反向横向传感器修复在Android相机预览应用程序中

我是Android开发中的新手,所以如果我的问题很简单,我会提前道歉.在我的应用程序的一部分,我需要我的后置摄像头的实时预览,所以我创建了一个自定义类,扩展SurfaceView并实现SurfaceHolder.Callback(我基本上遵循了android文档中的说明).

不幸的是,我正在Nexus 5x中测试我的应用程序,我刚刚意识到它已经以相反的方式安装了相机传感器.出于这个原因,在我的Nexus 5x上运行时,我的应用程序的相机预览显示为颠倒,这是我不想要的.

似乎新的android.hardware.camera2 API能够自动处理这个问题.最终我需要使用这个新API更新我的所有代码,但是现在我需要的是使用旧相机API时的快速修复.

所以我在那里读书,我发现了一段代码,我需要在SurfaceChanged方法中引入以解决这个问题.这里是:

Display display = ((WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();

        if(display.getRotation() == Surface.ROTATION_0)
        {
            parameters.setPreviewSize(capHeight, capWidth);                           
            camera.setDisplayOrientation(90);
        }

        if(display.getRotation() == Surface.ROTATION_90)
        {
            parameters.setPreviewSize(capWidth, capHeight);                           
        }

        if(display.getRotation() == Surface.ROTATION_180)
        {
            parameters.setPreviewSize(capHeight, capWidth);               
        }

        if(display.getRotation() == Surface.ROTATION_270)
        {
            parameters.setPreviewSize(capWidth, capHeight);
            camera.setDisplayOrientation(180);
        }

        camera.setParameters(parameters);*/

        camera.startPreview();
Run Code Online (Sandbox Code Playgroud)

问题是我没有看到某些事情发生了变化.

有什么想法吗?

android android-camera android-view android-camera2

11
推荐指数
3
解决办法
7057
查看次数

Camera2 API Android 最小 SDK

您好,我正在尝试开发一个使用自定义相机的应用程序,当我尝试使用相机类时,它已被弃用,因此我使用了 android 硬件。相机 2 并遵循本 教程

但是当我尝试添加 CameraDevice.StatecCallBack 时,它给了我一个警告,最小 SDK 应该是 21,我的最小 SDK 是 15 现在我很困惑,如果我使用旧的相机 API,如果我使用新的它不推荐使用它不支持我的最小 SDK 我该怎么办?

camera android android-camera

5
推荐指数
1
解决办法
2545
查看次数

使用功能 android:required="false" 被忽略

在我的 AndroidManifest.xml 文件中,我有以下两行:

<uses-permission                        android:name="android.permission.CAMERA" />
<uses-feature android:required="false"  android:name="android.hardware.camera" />
Run Code Online (Sandbox Code Playgroud)

但是当我上传到 Google Play 时,它表明需要相机。如果我使用 aapt 工具,它会显示:“uses-feature: name='android.hardware.camera'”

有谁知道为什么它会忽略我的代码并要求设备配备摄像头?

编辑:这是我的整个“用途”部分供参考:

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

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

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

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

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

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

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

<uses-permission                        android:name="android.permission.VIBRATE" />
<uses-feature android:required="false"  android:name="android.hardware.vibrate" />

<uses-permission                        android:name="android.permission.CALL_PHONE" …
Run Code Online (Sandbox Code Playgroud)

android uses-feature

4
推荐指数
1
解决办法
3524
查看次数