Android 打開閃光燈(手電筒)


package com.example.openBackLight;

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

public class MyActivity extends Activity {
    private Button button;
    private Camera camera;
    private Parameters parameters;
    public boolean hasClosed = true; // 定義開關狀態,狀態為false,打開狀態,狀態為true,關閉狀態

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        button = (Button) findViewById(R.id.button);
    }

    public void toggleLight(View view) {
        if (hasClosed) {
            camera = Camera.open();
            parameters = camera.getParameters();
            parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);// 開啟
            camera.setParameters(parameters);
            button.setText("關閉閃光燈");
            hasClosed = false;
        } else {
            parameters.setFlashMode(Parameters.FLASH_MODE_OFF);// 關閉
            camera.setParameters(parameters);
            button.setText("開啟閃光燈");
            hasClosed = true;
            camera.release();
        }
    }
    
}

布局文件很簡單,就一個button,點擊的時候會調用toggleLight()方法.

要加入以下權限:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM