Android如何实现简单手电筒功能

  介绍

这篇文章给大家分享的是有关Android如何实现简单手电筒功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下XML:

& lt; ? xml  version=?.0“,编码=皍tf-8" ?比;   & lt; RelativeLayout  xmlns: android=癶ttp://schemas.android.com/apk/res/android"   ,xmlns:应用=癶ttp://schemas.android.com/apk/res-auto"   ,xmlns:工具=癶ttp://schemas.android.com/tools"   ,android: layout_width=癿atch_parent"   ,android: layout_height=癿atch_parent"   ,工具:上下文=?Switch_Activity"祝辞      & lt; ImageButton   android:才能id=癅 + id/imageButton"   android:才能layout_width=?25 dp"   android:才能layout_height=皐rap_content"   android:才能layout_alignParentTop=皌rue"   android:才能layout_centerHorizontal=皌rue"   android:才能layout_marginTop=?67 dp"   应用程序才能:srcCompat=癅drawable/off",/比;      ,& lt; !——, android: layout_centerHorizontal=皌rue",水平居中——比;      & lt; SurfaceView   android:才能id=癅 + id/surfaceView"   android:才能layout_width=?78 dp"   android:才能layout_height=?21 dp"   android:才能layout_alignParentStart=皌rue"   android:才能layout_alignParentLeft=皌rue"   android:才能layout_alignParentTop=皌rue"   android:才能layout_marginStart=?3 dp"   android:才能layout_marginLeft=?3 dp"   android:才能layout_marginTop=?9 dp",/比;   ,   & lt;/RelativeLayout> 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 =,假;   ,SurfaceView  surfaceView;   ,Camera 镜头;   ,Camera.Parameters  camera_parameters;//相机参数//,设置摄像头分辨率与设备支持的分辨率//,Camera.Size  camera_size;      ,SurfaceHolder  surfaceHolder;//,SurfaceHolder是一个接口,其作用就像一个关于表面的监听器。提供访问和控制SurfaceView背后的Surface 相关的方法//,* * * * *,一定要在,AndroidManifest.xml 中添加权限:& lt; uses-permission  android: name=癮ndroid.permission.CAMERA"祝辞& lt;/uses-permission>//,& lt; uses-permission  android: name=癮ndroid.permission.FLASHLIGHT"/比;//,权限,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 (,, Manifest.permission.CAMERA ), !=, PackageManager.PERMISSION_GRANTED) {   ,,,ActivityCompat.requestPermissions (,, 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 持有人),{   ,,,试着{   ,,,,camera.setPreviewDisplay (, surfaceHolder );   ,,,}捕捉(Exception  e) {//,,,,,,释放,camera 对象   ,,,,camera.release ();   ,,,}   ,,,camera.startPreview ();   ,,}      @Override。才能   ,,public  void  surfaceChanged (SurfaceHolder 夹,int 格式,int 宽度,,int 高度),{      ,,}      @Override。才能   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Android如何实现简单手电筒功能