Android 安卓:检查手电筒模式是否被激活且不工作

Android 安卓:检查手电筒模式是否被激活且不工作,android,logcat,flashlight,Android,Logcat,Flashlight,[工作代码/22.01.2013] 下面的代码不起作用,我不知道为什么。 我设置了权限和按钮,以便它可以工作 我在清单中设置了如下权限: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="spicysoftware.spicytaschenlampe" android:versionCod

[工作代码/22.01.2013]

下面的代码不起作用,我不知道为什么。 我设置了权限和按钮,以便它可以工作

我在清单中设置了如下权限:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="spicysoftware.spicytaschenlampe"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

    <uses-permission android:name="android.permission.CAMERA" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="spicysoftware.spicytaschenlampe.FlashLight"
        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>
这是logcat错误:

01-22 08:11:00.290: D/AndroidRuntime(12239): Shutting down VM
01-22 08:11:00.290: W/dalvikvm(12239): threadid=1: thread exiting with uncaught exception (group=0x40dfc2a0)
01-22 08:11:00.290: E/AndroidRuntime(12239): FATAL EXCEPTION: main
01-22 08:11:00.290: E/AndroidRuntime(12239): java.lang.RuntimeException: Fail to connect to camera service
01-22 08:11:00.290: E/AndroidRuntime(12239):    at android.hardware.Camera.native_setup(Native Method)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at android.hardware.Camera.<init>(Camera.java:353)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at android.hardware.Camera.open(Camera.java:330)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at spicysoftware.spicytaschenlampe.FlashLight$1.onClick(FlashLight.java:28)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at android.view.View.performClick(View.java:4223)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at android.view.View$PerformClick.run(View.java:17275)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at android.os.Handler.handleCallback(Handler.java:615)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at android.os.Handler.dispatchMessage(Handler.java:92)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at android.os.Looper.loop(Looper.java:137)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at android.app.ActivityThread.main(ActivityThread.java:4898)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at java.lang.reflect.Method.invokeNative(Native Method)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at java.lang.reflect.Method.invoke(Method.java:511)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
01-22 08:11:00.290: E/AndroidRuntime(12239):    at dalvik.system.NativeStart.main(Native Method)
01-22 08:11:00.290:D/AndroidRuntime(12239):关闭虚拟机
01-22 08:11:00.290:W/dalvikvm(12239):threadid=1:线程以未捕获异常退出(组=0x40dfc2a0)
01-22 08:11:00.290:E/AndroidRuntime(12239):致命异常:主
01-22 08:11:00.290:E/AndroidRuntime(12239):java.lang.RuntimeException:无法连接到相机服务
01-22 08:11:00.290:E/AndroidRuntime(12239):在android上。硬件。摄像头。本机设置(本机方法)
01-22 08:11:00.290:E/AndroidRuntime(12239):在android.hardware.Camera.(Camera.java:353)
01-22 08:11:00.290:E/AndroidRuntime(12239):在android.hardware.Camera.open(Camera.java:330)上
01-22 08:11:00.290:E/AndroidRuntime(12239):在spicysoftware.spicytaschenlampe.FlashLight$1.onClick(FlashLight.java:28)
01-22 08:11:00.290:E/AndroidRuntime(12239):在android.view.view.performClick(view.java:4223)上
01-22 08:11:00.290:E/AndroidRuntime(12239):在android.view.view$PerformClick.run(view.java:17275)
01-22 08:11:00.290:E/AndroidRuntime(12239):在android.os.Handler.handleCallback(Handler.java:615)上
01-22 08:11:00.290:E/AndroidRuntime(12239):在android.os.Handler.dispatchMessage(Handler.java:92)上
01-22 08:11:00.290:E/AndroidRuntime(12239):在android.os.Looper.loop(Looper.java:137)
01-22 08:11:00.290:E/AndroidRuntime(12239):位于android.app.ActivityThread.main(ActivityThread.java:4898)
01-22 08:11:00.290:E/AndroidRuntime(12239):位于java.lang.reflect.Method.Invokenactive(本机方法)
01-22 08:11:00.290:E/AndroidRuntime(12239):位于java.lang.reflect.Method.invoke(Method.java:511)
01-22 08:11:00.290:E/AndroidRuntime(12239):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
01-22 08:11:00.290:E/AndroidRuntime(12239):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
01-22 08:11:00.290:E/AndroidRuntime(12239):在dalvik.system.NativeStart.main(本机方法)

在清单中进行以下更改:

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

执行
Camera.open()
并设置参数后,执行
mCamera.startPreview()
。这应该能奏效


onClick()之前声明
Camera-cam
,请参见此处。在eclipse中导入项目并进行尝试@AndroidLeaner看看我的问题:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="true"/>