2013-09-30 95 views
0

如何用sl4a Python打開和關閉相機LED?最大強度是好的。用SL4A打開/關閉相機閃光燈蟒蛇Python

任何在android。*?

下面的代碼:

import sys 

def toggle_LED(action="on"): 
    if action == 'on': 
     with open('/sys/class/leds/torch-flash/flash_light', 'w') as on: 
      on.write('1') 
    elif action == 'off': 
     with open('/sys/class/leds/torch-flash/flash_light', 'w') as off: 
      off.write('0') 


if __name__ == '__main__': 
    toggle_LED() 
    while True: 
     if strip(sys.stdin.read())[0] == 'q': 
      toggle_LED(action='off') 
      sys.exit() 

編輯:這款手機是華爲的Ideos X5 U8800H

+0

真的嗎?一個投票? Reaaally? @ShivanRaptor我試過寫一個零或一個文件'/ sys/class/leds/torch-flash/flash_light',但是我的手機上沒有'torch-flash'文件夾。所以我正在尋找一個適用於任何手機的API調用。 – timkofu

+0

這不是我的失望。冷靜先生。請提供您的代碼。 – Raptor

+0

添加了代碼。 – timkofu

回答

2

任何在android系統*?

您可以在Android中按以下方式打開和關閉手電筒。

打開手電筒。

Camera cam = null; 
public void turnOnFlashLight() { 
    try { 
     if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) { 
      cam = Camera.open(); 
      Parameters p = cam.getParameters(); 
      p.setFlashMode(Parameters.FLASH_MODE_TORCH); 
      cam.setParameters(p); 
      cam.startPreview(); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
     Toast.makeText(getBaseContext(), "Exception throws in turning on flashlight.", Toast.LENGTH_SHORT).show(); 
    } 
} 

關掉手電筒。

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

不要忘記在清單中添加權限。

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

更多參考:Turn on and turn off flash light programmatically in Android

+0

這是** java **。我需要通過SL4A在** Python **中完成。 – timkofu

+0

@TimothyMakobu:是的,但我發佈Android的答案,因爲你問**的任何東西在Android?**。我不知道如何用Python做到這一點。 – dakshbhatt21

+0

我的意思是'android。*',就像SL4A Python中用於訪問API的主包一樣。 – timkofu

相關問題