Autore Topic: Fail to connect to camera service  (Letto 516 volte)

Onedax

  • Visitatore
Fail to connect to camera service
« il: 04 Dicembre 2014, 23:30:28 CET »
0
Salve a tutti!!
Sono nuovo del forum e del mondo android, spero di non aver sbagliato sezione.
Sto creando un'applicazione per l'esattezza la torcia dove basta cliccare sull'immagine per accenderla/spegnerla.
Quando vado a provarla sullo smartphone l'applicazione funziona bene,però nel momento in cui la richiudo e la riapro velocemente mi appare "L'applicazione _ _ _ si è fermata".I permessi nell'android manifest ci sono e se ho capito bene dalla documentazione ufficiale android manca il metodo camera.release(); per rilasciare la camera al momento in cui si abbandona l'app.
Io questo metodo non ho capito dove aggiungerlo perchè ho provato nel metodo onCreate ma non cambia nulla.
Aspetto vostre risposte!!!

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com._ _ _.torcia"
   android:versionCode="1"
   android:versionName="1.0" >

    <uses-sdk
       android:minSdkVersion="8"
       android:targetSdkVersion="21" />
    <uses-permission android:name="android.permission.FLASHLIGHT"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-feature android:name="android.hardware.camera"/>
    <uses-feature android:name="android.hardware.camera.autofocus"/>
       
       
    <application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
        <activity
           android:name="MainActivity"
           android:label="@string/app_name"
           android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>


Codice (Java): [Seleziona]
package com._ _ _.torcia;

import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

@SuppressWarnings("deprecation")
public class MainActivity extends Activity {
        Camera camera;
        ImageView torcia;
        boolean FlashOn=false;
        Camera.Parameters p;

@SuppressWarnings("static-access")
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
camera.open();
torcia=(ImageView)findViewById(R.id.torcia);
torcia.setOnClickListener(new View.OnClickListener(){

@Override
        public void onClick(View v){
                p=camera.getParameters();
                if(!FlashOn){
                        p.setFlashMode(Parameters.FLASH_MODE_TORCH);
                        camera.setParameters(p);
                        FlashOn=true;
                        }
                else{
                        p.setFlashMode(Parameters.FLASH_MODE_OFF);
                        camera.setParameters(p);
                        FlashOn=false;
                        }
                }
});
        }
}



Codice: [Seleziona]
E/AndroidRuntime(16541): FATAL EXCEPTION: main
E/AndroidRuntime(16541): java.lang.RuntimeException: Unable to start activity ComponentInfo{com._ _ _.torcia/com._ _ _.torcia.MainActivity}: java.lang.RuntimeException: Fail to connect to camera service
E/AndroidRuntime(16541):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2085)
E/AndroidRuntime(16541):         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2110)
E/AndroidRuntime(16541):         at android.app.ActivityThread.access$600(ActivityThread.java:138)
E/AndroidRuntime(16541):         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
E/AndroidRuntime(16541):         at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(16541):         at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(16541):         at android.app.ActivityThread.main(ActivityThread.java:4940)
E/AndroidRuntime(16541):         at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(16541):         at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(16541):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
E/AndroidRuntime(16541):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
E/AndroidRuntime(16541):         at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(16541): Caused by: java.lang.RuntimeException: Fail to connect to camera service
E/AndroidRuntime(16541):         at android.hardware.Camera.native_setup(Native Method)
E/AndroidRuntime(16541):         at android.hardware.Camera.<init>(Camera.java:353)
E/AndroidRuntime(16541):         at android.hardware.Camera.open(Camera.java:308)
E/AndroidRuntime(16541):         at com.Onedax.torcia.MainActivity.onCreate(MainActivity.java:22)
E/AndroidRuntime(16541):         at android.app.Activity.performCreate(Activity.java:5255)
E/AndroidRuntime(16541):         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
E/AndroidRuntime(16541):         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2049)
E/AndroidRuntime(16541):         ... 11 more
« Ultima modifica: 22 Febbraio 2015, 15:32:00 CET da Onedax »