Android實(shí)現(xiàn)閃光燈效果
本文實(shí)例為大家分享了Android實(shí)現(xiàn)閃光燈效果的具體代碼,供大家參考,具體內(nèi)容如下
一、聲明閃光燈的權(quán)限
<uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.FLASHLIGHT" />
注意:Camera權(quán)限6.0以上需要?jiǎng)討B(tài)申請(qǐng)權(quán)限
二、具體的代碼如下
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); } /** * 打開(kāi)手電筒 */ 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(); } }; /** * 開(kāi)啟閃爍 */ 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); } }; /** * 打開(kāi)閃光燈 * * @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界面很簡(jiǎn)單,四個(gè)按鈕:
有興趣的可以試一試,當(dāng)作一個(gè)小工具收藏一下。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android UI之ImageView實(shí)現(xiàn)圖片旋轉(zhuǎn)和縮放
這篇文章主要介紹了Android UI之ImageView實(shí)現(xiàn)圖片旋轉(zhuǎn)和縮放的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-09-09android 判斷網(wǎng)絡(luò)是否可用與連接的網(wǎng)絡(luò)是否能上網(wǎng)
下面小編就為大家分享一篇android 判斷網(wǎng)絡(luò)是否可用與連接的網(wǎng)絡(luò)是否能上網(wǎng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Android Studio gradle配置packagingOptions打包so庫(kù)重復(fù)
這篇文章主要為大家介紹了Android Studio gradle配置packagingOptions打包so庫(kù)重復(fù)問(wèn)題的解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Android 中 TabHost與ViewPager結(jié)合實(shí)現(xiàn)首頁(yè)導(dǎo)航效果
這篇文章主要介紹了Android 中 TabHost與ViewPager結(jié)合實(shí)現(xiàn)首頁(yè)導(dǎo)航效果,代碼簡(jiǎn)單易懂,感興趣的朋友參考下吧2016-09-09Android實(shí)現(xiàn)頂部底部雙導(dǎo)航界面功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)頂部\底部雙導(dǎo)航界面功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09Android Canvas和Bitmap結(jié)合繪圖詳解流程
在 Android Canvas 上繪圖非常難,在繪圖時(shí)需要理解許多不同的類(lèi)和概念。這篇文章中,將介紹 Android 框架中可用的一些類(lèi),它們可以讓畫(huà)布使用時(shí)更輕松2021-11-11Android studio4.1更新后出現(xiàn)的問(wèn)題詳解
這篇文章主要介紹了Android studio4.1更新后出現(xiàn)的問(wèn)題詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10