国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Android - Android實現(xiàn)閃光燈效果

Android實現(xiàn)閃光燈效果

2022-03-09 15:17諸葛佩奇 Android

這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)閃光燈效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Android實現(xiàn)閃光燈效果的具體代碼,供大家參考,具體內(nèi)容如下

一、聲明閃光燈的權(quán)限

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

注意:Camera權(quán)限6.0以上需要動態(tài)申請權(quán)限

二、具體的代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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();
    }
  };
 
  /**
   * 關(guān)閉手電筒
   */
  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();
    }
  };
 
  /**
   * 關(guān)閉閃爍
   */
  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();
    }
  }
  /**
   * 關(guān)閉閃光燈
   *
   * @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實現(xiàn)閃光燈效果

有興趣的可以試一試,當(dāng)作一個小工具收藏一下。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/fengyeNom1/article/details/80911545

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品国产综合久久久久 | 不用播放器的av | 青春草国产免费福利视频一区 | 国产中文字幕在线观看 | 国产色毛片 | 日韩超碰在线观看 | 亚洲激情中文字幕 | 亚洲精品久久久久久一区二区 | 日韩精品一区二区在线观看 | 亚洲一区中文字幕在线观看 | 免费看国产片在线观看 | 福利片在线观看 | 亚洲一区二区三区四区五区午夜 | 日本一区二区高清不卡 | 久久综合激情 | 午夜视频网| 激情视频在线观看 | 国产精品日产欧美久久久久 | 永久av| 成人黄色小视频 | 伊人狠狠 | 欧美一区二区大片 | 久久精品香蕉 | 91免费网 | 在线国产一区 | 欧美在线操 | 久久久777| 午夜精品一区二区三区在线播放 | 成人免费一区二区三区视频网站 | 欧美日韩免费视频 | 国产精品亚洲精品 | 国内精品久久久久久久影视红豆 | 中文字幕在线免费看 | 在线永久免费观看日韩a | 黄网站在线观看 | 国产精品原创巨作av | 高清hd写真福利在线播放 | 中国女人黄色大片 | 日韩亚洲一区二区 | 操久在线| 精品福利视频网站 |