Android开启闪光灯的方法 Android打开手电筒功能

前言

众所周知,安卓的手电筒功能无非是开启手机的闪光灯,既然开启闪光灯就必须要与相机关联。

代码

写了个小工具,一个文件搞定。

public class FlashUtils {

  private static FlashUtils utils;
  private static Camera camera;
  public static boolean mIsOpen = true;

  //使用单例模式在这里初始化相机
  public static FlashUtils getInstance() {
    if (utils == null) {
      utils = new FlashUtils();
    }
    try {
      if (camera == null) {
        camera = Camera.open();
      }
    } catch (Exception e) {
      if (camera != null) {
        camera.release();
      }
      camera = null;
    }
    return utils;
  }

  //参考二维码工具的闪光灯
  public void switchFlash() {
    try {
      Parameters parameters = camera.getParameters();
      if (mIsOpen) {
        if (parameters.getFlashMode().equals("torch")) {
          return;
        } else {
          parameters.setFlashMode("torch");
        }
      } else {
        if (parameters.getFlashMode().equals("off")) {
          return;
        } else {
          parameters.setFlashMode("off");
        }
      }
      camera.setParameters(parameters);
    } catch (Exception e) {
      finishFlashUtils();
    }
    mIsOpen = !mIsOpen;
  }

  //页面销毁的时候调用此方法
  public void finishFlashUtils() {
    if (camera != null) {
      camera.stopPreview();
      camera.release();
    }
    camera = null;
  }

}

6.0及其以上亲测可用,需手动打开权限。

5.0以下暂未测试。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android 通用型手电筒代码

    前几天这边一个小区断电,黑麻麻的,一只猫闯进寝室,把我吓哭,然后就果断写了个手电筒,下次断电,再来,我要吓死它. 我之前看到很多人都是直接调用闪光灯,其实大部分机型都不支持,我这个是用相机功能来实现的,大部分机型都支持. MainActivity.class public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { supe

  • Android中编写简单的手电筒小应用的实例教程

    主要实现两个步骤: 1.实现打开和关闭闪光灯:而实现操作闪光灯主要通过Camera类 Camera camera = Camera.open(); Parameters mParameters = camera.getParameters(); mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);//打开Camera.Parameters.FLASH_MODE_OFF 则为关闭 amera.setParameters(mPar

  • Android studio编写简单的手电筒APP

    很不错的手电筒APP,分享给大家,希望大家喜欢. 1. Java代码     package com.example.goo.gfire; import android.app.Activity; import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.os.Bundle; import android.view.View; import android.widget.Bu

  • Android Camera开发手电筒功能

    这是一个简单的运用Android Camera开发手电筒功能,AndroidManifest.xml文件的入口是startapp,这个文件没上传上来,大家可以自己写. flashlight.java package com.android.app; import android.app.Activity; import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.os.Bun

  • Android控制闪光灯的方法(打开与关闭)

    本文实例讲述了Android控制闪光灯的方法.分享给大家供大家参考,具体如下: 最近想做一个手电筒,在网上搜到一点资料 首先闪光灯可以用android.hardware.camera来控制 1. 在Manifest.xml文件中添加权限 复制代码 代码如下: <uses-permission android:name="android.permission.CAMERA" /> 2. 打开闪光灯 try{ m_Camera = Camera.open(); Camera.P

  • Android 开启闪光灯做手电筒的详解

    复制代码 代码如下: public class HandLightActivity extends Activity implements OnClickListener{private ToggleButton toggleButton;private Camera m_Camera;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCre

  • Android开启闪光灯的方法 Android打开手电筒功能

    前言 众所周知,安卓的手电筒功能无非是开启手机的闪光灯,既然开启闪光灯就必须要与相机关联. 代码 写了个小工具,一个文件搞定. public class FlashUtils { private static FlashUtils utils; private static Camera camera; public static boolean mIsOpen = true; //使用单例模式在这里初始化相机 public static FlashUtils getInstance() { i

  • Android编程实现点击链接打开APP功能示例

    本文实例讲述了Android编程实现点击链接打开APP功能.分享给大家供大家参考,具体如下: 在Android中点击链接打开APP是一个很常见的需求.例如,电商为用户发送优惠券之后经常会下发一条短信:某某优惠券已发送到您的账户中,点击 xxx 链接即可查看!此时当用户点击链接之后会直接打开本地APP,进入相关页面. 功能实现: 1.在manifest中为相应的activity添加intent-filter: <activity android:name=".TestActivity&quo

  • Android WebView的使用方法总结

     Android WebView的使用方法 Android app打开H5页一般要实现如下需求: 1.打开指定url网页: 2.点击链接可以跳转到下一页,并更新标题: 3.按back键或左箭头可以返回上一页: 4.当webview显示的是第一级url时, 按返回键或左箭头关闭当前界面: 5.WebView如何传值给android, 例如使用H5登录成功后返回姓名.token等等字段. 6.支持JavaScript, 支持显示js对话框. 7.无网络时显示默认布局, 以提高用户体验. 8.避免We

  • windows服务器中检测PHP SSL是否开启以及开启SSL的方法

    一.检测服务器是否开启了SSL 复制代码 代码如下: <?phpphpinfo();?> 检查页面的openssl栏目,如果该栏目的OpenSSL support的值为enabled就说明SSL处于开启状态了,否则是关闭状态. 二.开启SSL的方法 1. 打开php.ini  把:extension=php_openssl.dll把前面的符号去掉.2. 重新启动 apache 或 iis ,重新检查 SSL 开启状态.如果以上操作无效的话,则还需要进行下一步操作(这一步在很多情况下不是必须的,

  • Android 6.0以上权限拒绝打开权限设置界面的解决方法

    本人使用小米手机,打开qq或者微信的时候,某个权限拒绝的话,会提示你开启,点击开启会跳转到app的权限设置界面,当然了,这是国内系统深层定制的原因,也就是说这个界面原声的android没有的!这里以小米和魅族作为示例讲解如何让用户手动打开权限,当然了如果是原声的android就让他跳转到应用的详情设置页面(有点坑,因为普通用户还是不知道怎么整). 参考了很多零零碎碎的东西,网址已经找不到了...... ok,第一步是跳转到系统的界面,下面基本上可以从9开始考虑了,可以简化. String SCH

  • Android调用系统自带浏览器打开网页的实现方法

    在Android中可以调用自带的浏览器,或者指定一个浏览器来打开一个链接.只需要传入一个uri,可以是链接地址. 启动android默认浏览器 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器.如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接. Uri uri = Uri.parse("https://www.baidu.com"); Intent intent = new Intent(Intent.ACTI

  • Android开发实现判断通知栏是否打开及前往设置页面的方法

    本文实例讲述了Android开发实现判断通知栏是否打开及前往设置页面的方法.分享给大家供大家参考,具体如下: 项目中用到日程提醒功能,如果应用的通知栏没有打开,则需要提示用户前去打开通知栏,判断通知栏是否打开代码如下: private boolean isNotificationEnabled(Context context) { String CHECK_OP_NO_THROW = "checkOpNoThrow"; String OP_POST_NOTIFICATION = &qu

  • android 关于webview 加载h5网页开启定位的方法

    如下所示: //webview定位相关设置 settings.setDomStorageEnabled(true); settings.setGeolocationEnabled(true); //settings.setGeolocationDatabasePath(getFilesDir().getPath()); progressWebView.setWebChromeClient(new WebChromeClient() { @Override public void onGeoloc

随机推荐