2012-05-24 10 views
8

Ich entwickle eine App, die die Taschenlampe meines Galaxy Nexus Gerät öffnen muss. Ich habe hier auf den Posten genanntÖffnen Taschenlampe von Galaxy Nexus

LED flashlight on Galaxy Nexus controllable by what API?

public class TestCamera extends Activity implements SurfaceHolder.Callback{ 
Camera mCamera; 
public static SurfaceView preview; 
public static SurfaceHolder mHolder; 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    preview = (SurfaceView) findViewById(R.id.camSurface); 
    mHolder = preview.getHolder(); 
    mCamera = Camera.open(); 
    try { 
     mCamera.setPreviewDisplay(mHolder); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    Button onLEDbtn = (Button) findViewById(R.id.onLED_btn); 
    onLEDbtn.setOnClickListener(new OnClickListener(){ 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_SHORT).show(); 
      Parameters params = mCamera.getParameters(); 
      params.setFlashMode(Parameters.FLASH_MODE_TORCH); 
      mCamera.setParameters(params);  
      mCamera.startPreview(); 
     } 

    }); 
} 



} 


    public void surfaceChanged(SurfaceHolder holder, int format, int width, 
      int height) { 
     // TODO Auto-generated method stub 

    } 


    public void surfaceCreated(SurfaceHolder holder) { 
     // TODO Auto-generated method stub 
     mHolder = holder; 
     try { 
      mCamera.setPreviewDisplay(mHolder); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 


    public void surfaceDestroyed(SurfaceHolder holder) { 
     // TODO Auto-generated method stub 
     mCamera.stopPreview(); 
      mHolder = null; 
    } 




} 

Manifest:

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

aber ich kann immer noch nicht Schalter auf der Taschenlampe. Kann jemand auf meine Fehler hinweisen? Dank

+0

Sie können alles hier http://stackoverflow.com/questions/6068803/how-turn-on-only-camera-flash-light-programmatical-in-android – user219882

+0

mögliche Duplikate von [Kann nicht die Taschenlampe verwenden in Galaxy Nexus] (http://stackoverflow.com/questions/10731285/unable-to-use-the-flashlight-in-galaxy-nexus) –

+0

Oben ist meine Manifest-Datei Außerdem habe ich die camSurface-Ansicht in main.xml hinzugefügt Wird es ein Problem sein? Ich kann die Toast-Nachricht bekommen, aber kann die Taschenlampe nicht einschalten ... Bitte helfen. Vielen Dank!! – user1311794

Antwort

0

Versuchen hinzuzufügen:

android:name="android.permission.FLASHLIGHT" 
android:name="android.hardware.camera.flash 

Und schauen Sie diesen Beitrag: How to turn on camera flash light programmatically in Android?

+0

akzeptieren Ich habe die folgende Manifest Allerdings funktioniert es nicht. – user1311794

+0

Ich habe diesen Post gefunden: http://stackoverflow.com/questions/9505945/led-flashlight-does-not-work-on-samsung-galaxy-nexus – Skies

+0

und dieses: http: // stackoverflow. com/questions/8876843/led-taschenlampe-auf-galaxy-nexus-steuerbar-durch-was-api/9379765 # 9379765 – Skies

0

Sie müssen diesen Tag in Manifest-Datei hinzuzufügen.

<uses-feature android:name="android.hardware.camera.flash"/> 
7

Sie müssen zurück mHolder.addCallback einstellen nennen (diese);

Verwandte Themen