介绍
这篇文章给大家分享的是有关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 nullAndroid如何实现简单手电筒功能