如何使用Android实现简单手电筒功能
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关如何使用Android实现简单手电筒功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下XML:
千家信息网最后更新 2026年11月01日如何使用Android实现简单手电筒功能
这篇文章给大家分享的是有关如何使用Android实现简单手电筒功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
具体内容如下
XML:
Java:
package com.example.flashlightactivite;import android.Manifest;import android.content.pm.PackageManager;import android.hardware.Camera;import android.os.Build;import android.support.v4.app.ActivityCompat;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.SurfaceHolder;import android.view.SurfaceView;import android.view.View;import android.widget.ImageButton;public class Switch_Activity extends AppCompatActivity { ImageButton flashLightSwitch; boolean flag = false; SurfaceView surfaceView; Camera camera; Camera.Parameters camera_parameters; //相机参数// 设置摄像头分辨率与设备支持的分辨率// Camera.Size camera_size; SurfaceHolder surfaceHolder;// SurfaceHolder是一个接口,其作用就像一个关于Surface的监听器。提供访问和控制SurfaceView背后的Surface 相关的方法// ***** 一定要在 AndroidManifest.xml 中添加权限: // // 权限 PERMISSION_STORAGE:允许存储 private static String [] PERMISSION_STORAGE = { Manifest.permission.CAMERA };// 请求动态码 REQUEST_PERMISSION_CODE:请求许可代码 private static int REQUEST_PERMISSION_CODE = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate( savedInstanceState ); setContentView( R.layout.activity_switch_ );// 判断版本号 与 棒棒糖版本号 的等级 if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP){// checkSelfPermission: 自我检查权限 if (ActivityCompat.checkSelfPermission( this,Manifest.permission.CAMERA ) != PackageManager.PERMISSION_GRANTED){ ActivityCompat.requestPermissions( this,PERMISSION_STORAGE,REQUEST_PERMISSION_CODE ); } } flashLightSwitch = findViewById( R.id.imageButton ); surfaceView = findViewById( R.id.surfaceView ); camera = Camera.open(); camera_parameters = camera.getParameters(); surfaceHolder = surfaceView.getHolder(); surfaceHolder.addCallback( new SurfaceHolder.Callback() { @Override public void surfaceCreated(SurfaceHolder holder) { try{ camera.setPreviewDisplay( surfaceHolder ); }catch(Exception e){// 释放 camera 对象 camera.release(); } camera.startPreview(); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceDestroyed(SurfaceHolder holder) { } } );// ImageButton 添加点击事件 flashLightSwitch.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if ( !flag ) {// 改变 flag 的值 flag = true;// 更改图片 R.包.图 flashLightSwitch.setImageResource( R.drawable.on );// 设置 flash 的类型 闪光模式:火炬 camera_parameters.setFlashMode( Camera.Parameters.FLASH_MODE_TORCH ); camera.setParameters( camera_parameters ); }else { flashLightSwitch.setImageResource( R.drawable.off ); flag = false;// 关闭 flash camera_parameters.setFlashMode( Camera.Parameters.FLASH_MODE_OFF ); camera.setParameters( camera_parameters ); } } } ); }}/** FLASH_MODE_RED_EYE防红眼模式,减小或阻止图片上的人物像的红眼出现。 FLASH_MODE_TORCH填充模式,在正常光照下会减弱闪光强度。 FLASH_MODE_AUTO自动模式,有需要的时候会自动闪光。 FLASH_MODE_OFF 闪光模式将不会被关闭 FLASH_MODE_ON 快照时闪光模式将永远被关闭* */AndroidManifest.xml :
感谢各位的阅读!关于"如何使用Android实现简单手电筒功能"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
模式
闪光
内容
权限
功能
手电
手电筒
分辨率
图片
更多
版本
篇文章
不错
实用
事件
人物
人物像
代码
作用
光照
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网黑科技
南京欣网互联网络科技
涨乐互联网科技
鸠鸠互联网科技
疫情对互联网科技公司影响
美国互联网科技巨头监管
互联网络科技有限公司
猪兼强互联网科技
互联网 科技创业
互联网科技股票
狮子座互联网科技有限公司
哈尔滨新华互联网科技
农村开互联网科技讲堂
和信科技工业互联网
江阴互联网智能科技产品进口
互联网科技公司营业执照怎么办理
中天科技中国工业互联网
领航科技大厦互联网公司
互联网界的黑科技
绵阳真晨互联网科技有限公司
湖北九亚互联网络科技有限公司
金融科技还是互联网
重庆科技学院互联网
居家互联网科技有限公司
青岛科技大学互联网大赛研究生
江苏互联网智能科技软件
广州互联网高科技取餐柜
东营紫格互联网科技
杭州科技互联网公司有哪些
青岛互联网科技园