91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android如何實現閃光燈效果

發布時間:2021-04-17 09:47:43 來源:億速云 閱讀:471 作者:小新 欄目:移動開發

這篇文章主要介紹Android如何實現閃光燈效果,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

具體內容如下

一、聲明閃光燈的權限

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

注意:Camera權限6.0以上需要動態申請權限

二、具體的代碼如下

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();
    }
  }
 
}

XML界面很簡單,四個按鈕:

Android如何實現閃光燈效果

以上是“Android如何實現閃光燈效果”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大港区| 阿合奇县| 枞阳县| 曲阜市| 石嘴山市| 布尔津县| 宽甸| 卫辉市| 东港市| 华池县| 洛川县| 广宁县| 洞头县| 晋宁县| 绩溪县| 澄江县| 普洱| 临清市| 禄丰县| 苏尼特左旗| 泸水县| 吴堡县| 丹凤县| 同德县| 都兰县| 波密县| 旬阳县| 札达县| 横山县| 当阳市| 兖州市| 亳州市| 芮城县| 沿河| 徐闻县| 绥宁县| 玉田县| 托克托县| 南京市| 鄂尔多斯市| 手机|