android相機閃光燈
Ⅰ 如何調用Android自帶的LED閃光燈
android的LED燈是通過通知來調用的,只是通知類的一個參數,具體大體實現方法如下:
final int ID_LED=19871103;
NotificationManager nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification();
notification.ledARGB = 0xFFFFFF; //這里是顏色,咱們可以嘗試改變,理論上0xFF0000是紅色,0x00FF00是綠色
notification.ledOnMS = 100;
notification.ledOffMS = 100;
notification.flags = Notification.FLAG_SHOW_LIGHTS;
nm.notify(ID_LED, notification);
nm.cancel(ID_LED);
Ⅱ 如何在android中使用閃光燈
下圖是android學習手冊中的介紹截圖,例子、文檔、源碼隨便看。
用IHardwareService直接控制Android1.5以前是直接提供這個介面的,之後呢,需要我們自己來做一下。在你的項目中新建一個包Android.os,新建一個IHardwareService.aidl文件,內容如下:package Android.os;
/** {@hide} */
interface IHardwareService{// obsolete flashlight support
boolean getFlashlightEnabled();
void setFlashlightEnabled(boolean on);}然後在你的程序中引入import Android.os.IHardwareService;/*** 設置閃光燈的開啟和關閉
* @param isEnable
* @author linc
IBinder binder = (IBinder) method.invoke(null, new Object[] { "hardware" });
IHardwareService localhardwareservice = IHardwareService.Stub.asInterface(binder);
localhardwareservice.setFlashlightEnabled(isEnable);}catch (Exception e){
e.printStackTrace();}}這樣就可以開啟閃光燈了。要使用的許可權:<uses-permission Android:name="android.permission.FLASHLIGHT" />
<uses-permission Android:name="android.permission.HARDWARE_TEST" />
三、用照相機來控制閃光燈這是思維的另一個方向。Camera自帶豐富的介面與Parameters,我們只管拿來使用就好了。private Camera camera = null;
private Parameters parameters = null;//直接開啟camera = Camera.open();
parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);//開啟
camera.setParameters(parameters);//直接關閉parameters.setFlashMode(Parameters.FLASH_MODE_OFF);//關閉
camera.setParameters(parameters);
camera.release();
如果這樣遇到問題的話,可以嘗試用camera的preview方法:private void OpenLightOn() {
if ( null == m_Camera ){m_Camera = Camera.open();}
Camera.Parameters parameters = m_Camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
m_Camera.setParameters( parameters );
m_Camera.autoFocus( new Camera.AutoFocusCallback (){
public void onAutoFocus(boolean success, Camera camera) {}});m_Camera.startPreview();}
private void CloseLightOff() {
if ( m_Camera != null ){m_Camera.stopPreview();
Ⅲ Android如何打開閃光燈
為了在Android設備上使用閃光燈,首先需要在應用程序的清單文件中聲明相應的許可權。具體來說,需要添加標簽來請求訪問相機和閃光燈的許可權。這一步驟是確保應用程序能夠與硬體組件正常交互的重要步驟。
示例代碼如下:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
在聲明了必要的許可權之後,接下來需要編寫代碼來控制閃光燈的開關狀態。這通常涉及到獲取相機的Camera對象,並調用其閃光燈控制方法。具體實現時,可以使用Camera.open()方法打開相機,並調用setParameters()方法來設置閃光燈參數。
示例代碼如下:
Camera camera = Camera.open();
Parameters parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
camera.startPreview();
值得注意的是,在使用閃光燈功能時,應確保遵循最佳實踐和用戶體驗原則。例如,可以在開啟閃光燈前向用戶提示,說明閃光燈將被用於拍照或視頻錄制等場景。此外,還需處理閃光燈不可用的情況,比如用戶未授予應用許可權或設備本身不支持閃光燈功能。
當不再需要使用閃光燈時,可以通過調用Camera對象的stopPreview()方法和release()方法來關閉閃光燈並釋放資源。這有助於提高應用程序的性能和減少資源消耗。
示例代碼如下:
camera.stopPreview();
camera.release();
通過遵循上述步驟,開發者可以順利地在Android應用程序中集成閃光燈控制功能,為用戶提供更加豐富和實用的拍照體驗。
Ⅳ Android如何打開閃光燈
一、聲明閃光燈的許可權
<uses-permissionandroid:name="android.permission.CAMERA"/>
<uses-permissionandroid:name="android.permission.FLASHLIGHT"/>
package com.google.yang.myapplication;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
* 閃光燈的控制
*
* @author yang
*/
public class MainActivity extends AppCompatActivity {
private Button open;
private Button close;
private Button openFlicker;
private Button closeFlicker;
private Camera camera;
private Boolean isShanshuo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
open = (Button) this.findViewById(R.id.open);
close = (Button) this.findViewById(R.id.close);
openFlicker = (Button) findViewById(R.id.openFlicker);
closeFlicker = (Button) findViewById(R.id.closeFlicker);
open.setOnClickListener(openOnClickListener);
close.setOnClickListener(closeOnClickListener);
openFlicker.setOnClickListener(openFlickerOnClickListener);
closeFlicker.setOnClickListener(closeFlickerOnClickListener);
}
/**
* 打開手電筒
*/
private OnClickListener openOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
open();
}
};
/**
* 關閉手電筒
*/
private OnClickListener closeOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
close();
}
};
/**
* 開啟閃爍
*/
private OnClickListener openFlickerOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
isShanshuo = true;
openFlicker.setEnabled(false);
new Thread(new Runnable() {
@Override
public void run() {
while (isShanshuo) {
open();
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
close();
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
};
/**
* 關閉閃爍
*/
private OnClickListener closeFlickerOnClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
isShanshuo = false;
openFlicker.setEnabled(true);
}
};
/**
* 打開閃光燈
*
* @return
*/
private void open() {
try {
camera = Camera.open();
camera.startPreview();
Parameters parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 關閉閃光燈
*
* @return
*/
private void close() {
try {
Parameters parameters = camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
camera.release();
camera = null;
} catch (Exception e) {
e.printStackTrace();
}
}
}
Ⅳ Android Camera怎樣打開關閉閃光燈
在AndroidManifest中注冊相應的許可權:
<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.autofocus"/>
打開閃光燈關鍵代碼:
Camera camera = Camera.open();
camera.startPreview();
parameter = camera.getParameters();
parameter.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameter);
關閉閃關燈關鍵代碼:
parameter = camera.getParameters();
parameter.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(parameter);
Ⅵ android 應用開發如何調節閃光燈亮度
這是與設備相關的,因為硬體廠商才能自行定義硬體的屬性。比如htc為相機閃光燈設置一個亮度文件,通過改寫這個文件的值,可以達到變更相機閃光燈的亮度,魅族應該也是這樣操作的。作為安卓系統來說,沒有統一的解決方案的。
參考htc閃光燈亮度root下的設置方法:
on 2.2 HTC devices you can use it by writing a string to/sys/devices/platform/flashlight.0/leds/flashlight/brightness. This controls if the LED is on and how bright it is. For maximum brightness write "128\n", half brightness write "64\n". Easy to test from adb shell: