2013-01-22 47 views
0

我正在寫一個應用程序,以在我的摩托羅拉XYBoard上打開固定持續時間的手電筒。以下是我的一段代碼,雖然此代碼適用於Motorola Attrix和Samsung Galaxy Note 10.1,但它不適用於XYBoard。我確實檢查了支持的閃光模式,而火炬就是其中之一。我已經閱讀了關於堆棧溢出的多個討論,其他人面臨類似的問題,但沒有任何我嘗試過的。將是非常有益的,如果有人來幫助我打開摩托羅拉XYBoard上的手電筒

公共無效flashLightOn(){

try { 
     if (getPackageManager().hasSystemFeature(
       PackageManager.FEATURE_CAMERA_FLASH)) { 

      cam = Camera.open(); 
      Parameters p = cam.getParameters(); 
      List<String> abc = p.getSupportedFlashModes(); 

      for (String a : abc){ 
       Log.d("mode: ", a); 
    } 
      p.setFlashMode(Parameters.FLASH_MODE_OFF); 
      p.setFlashMode(Parameters.FLASH_MODE_TORCH); 

      cam.setParameters(p); 
      cam.startPreview(); 
      /* cam.autoFocus(new AutoFocusCallback() { 
       public void onAutoFocus(boolean success, Camera camera) { 
       } 
      });*/ 

     } else { 

     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
     Toast.makeText(getBaseContext(), "Exception flashLightOn()", 
       Toast.LENGTH_SHORT).show(); 
    } 
} 


public void flashLightOff() { 
    try { 
     if (getPackageManager().hasSystemFeature(
       PackageManager.FEATURE_CAMERA_FLASH)) { 
      cam.stopPreview(); 
      cam.release(); 
      cam = null; 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
     Toast.makeText(getBaseContext(), "Exception flashLightOff", 
       Toast.LENGTH_SHORT).show(); 
    } 
} 

回答

0

你爲什麼不安裝從App Store的應用程序手電筒一個,你的應用程序將只調用應用程序使用意圖。

這樣少編碼!

+0

這是一個好主意,但不幸的是我需要開發自己的東西。 – sim