如何使用Android实现简单手电筒功能
发表于:2025-02-09 作者:千家信息网编辑
千家信息网最后更新 2025年02月09日,这篇文章给大家分享的是有关如何使用Android实现简单手电筒功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下XML:
千家信息网最后更新 2025年02月09日如何使用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安全错误
数据库的锁怎样保障安全
ntp时间同步服务器 海康
数据库管理工具 app
网络技术实务总结
沧州市小程序软件开发
软件开发测试肤质
察县网络安全
3D全息广告机软件开发
新建数据库索引图解
破窗理论 软件开发
圣斗士为什么只有一个服务器
年龄大了做软件开发
中国数据库排名
dos 连接数据库
客户服务器网络
原神手机怎样才能用b站服务器
dba数据库管理
网络安全服务流程
电脑软件开发常用工具
广西藤县电信网络服务器地址
陕西网络安全如何
戴尔t140服务器合格证
网络技术对疫情的影响
通信网络安全测评合格
微信网络安全证书过期
下面属于access数据库
spr定制服务器
安徽 软件开发有限公司
软件开发项目合同违约金
淮安网络安全展会信息
教育局网络安全宣传周主题