如何解决弃用?

时间:2016-05-30 07:18:08

标签: android

  

此代码中的Android上层版本问题。   java.lang.RuntimeException:无法连接到摄像头服务                   在android.hardware.Camera。(Camera.java:495)                   在android.hardware.Camera.open(Camera.java:356)
                  在android.view.SurfaceView.updateWindow(SurfaceView.java:583)                   在android.view.SurfaceView $ 3.onPreDraw(SurfaceView.java:177)                   在android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)                   在android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2063)                   在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1115)                   在android.view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:6023)                   在android.view.Choreographer $ CallbackRecord.run(Choreographer.java:858)                   在android.view.Choreographer.doCallbacks(Choreographer.java:670)                   在android.view.Choreographer.doFrame(Choreographer.java:606)                   在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:844)                   在android.os.Handler.handleCallback(Handler.java:739)                   在android.os.Handler.dispatchMessage(Handler.java:95)                   在android.os.Looper.loop(Looper.java:148)                   在android.app.ActivityThread.main(ActivityThread.java:5422)                   at java.lang.reflect.Method.invoke(Native Method)                   在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726)                   在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

这似乎是一个简单的错误,但是,我的清单文件是完全正确的。在这里,这里也是我的MapActivity代码。

    import java.lang.Object;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Matrix;
    import android.graphics.Paint;
    import android.graphics.RectF;
    import android.hardware.Camera.Face;
    //import android.media.FaceDetector;
    import android.view.View;

    /**
     * Created by Afzal on 5/30/2016.
     */
    public class FaceOverlayView extends View {

        private Paint mPaint;
        private Paint mTextPaint;
        private int mDisplayOrientation;
        private int mOrientation;
        private Face[] mFaces;

        public FaceOverlayView(Context context) {
            super(context);
            initialize();
        }

        private void initialize() {
            // We want a green box around the face:
            mPaint = new Paint();
            mPaint.setAntiAlias(true);
            mPaint.setDither(true);
            mPaint.setColor(Color.GREEN);
            mPaint.setAlpha(128);
            mPaint.setStyle(Paint.Style.FILL_AND_STROKE);

            mTextPaint = new Paint();
            mTextPaint.setAntiAlias(true);
            mTextPaint.setDither(true);
            mTextPaint.setTextSize(20);
            mTextPaint.setColor(Color.GREEN);
            mTextPaint.setStyle(Paint.Style.FILL);
        }

        public void setFaces(Face[] faces) {
            mFaces = faces;
            invalidate();
        }

        public void setOrientation(int orientation) {
            mOrientation = orientation;
        }

        public void setDisplayOrientation(int displayOrientation) {
            mDisplayOrientation = displayOrientation;
            invalidate();
        }

        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            if (mFaces != null && mFaces.length > 0) {
                Matrix matrix = new Matrix();
                Util.prepareMatrix(matrix, false, mDisplayOrientation, getWidth(), getHeight());
                canvas.save();
                matrix.postRotate(mOrientation);
                canvas.rotate(-mOrientation);
                RectF rectF = new RectF();
               for (FaceDetector.Face face : mFaces) {
                   rectF.set(face.rect);
                   matrix.mapRect(rectF);
                   canvas.drawRect(rectF, mPaint);
                   canvas.drawText("Score " + face.score, rectF.right, rectF.top, mTextPaint);
                }
                canvas.restore();
            }
        }
    }

Mainfest文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.swiftsoft.cameraface" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".CameraActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.CAMERA"/>

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

0 个答案:

没有答案