温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android如何实现闪光灯效果

发布时间:2021-04-17 09:47:43 来源:亿速云 阅读:541 作者:小新 栏目:移动开发

这篇文章主要介绍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