android平台手电筒开发源代码

时间:2021-12-09 20:38:47
01 /**
02  * name   : 手电筒主界面
03  * author : ycgpp@126.com
04  * date    : 2012-12-21 15:50:17
05  */
06 package com.android.app;
07  
08 import android.app.Activity;
09 import android.hardware.Camera;
10 import android.hardware.Camera.Parameters;
11 import android.os.Bundle;
12 import android.view.View;
13 import android.widget.TextView;
14 import android.widget.Toast;
15  
16 public class Main extends Activity {
17  
18     private boolean isopent = false;
19     private Camera camera;
20  
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         // TODO Auto-generated method stub
24         super.onCreate(savedInstanceState);
25         View view = View.inflate(this, R.layout.main, null);
26         setContentView(view);
27         TextView img_but = (TextView) findViewById(R.id.main_img);
28  
29         img_but.setOnClickListener(new View.OnClickListener() {
30  
31             @Override
32             public void onClick(View v) {
33                 // TODO Auto-generated method stub
34                 if (!isopent) {
35                     Toast.makeText(getApplicationContext(), "您已经打开了手电筒"0)
36                             .show();
37                     camera = Camera.open();
38                     Parameters params = camera.getParameters();
39                     params.setFlashMode(Parameters.FLASH_MODE_TORCH);
40                     camera.setParameters(params);
41                     camera.startPreview(); // 开始亮灯
42  
43                     isopent = true;
44                 else {
45                     Toast.makeText(getApplicationContext(), "关闭了手电筒",
46                             Toast.LENGTH_SHORT).show();
47                     camera.stopPreview(); // 关掉亮灯
48                     camera.release(); // 关掉照相机
49                     isopent = false;
50                 }
51             }
52         });
53     }
54  
55 }

[代码] 布局文件代码

01 <?xml version="1.0" encoding="utf-8"?>
02 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
03     android:layout_width="match_parent"
04     android:layout_height="match_parent"
05     android:orientation="vertical" >
06  
07     <TextView
08         android:id="@+id/main_img"
09         android:layout_width="fill_parent"
10         android:layout_height="fill_parent"
11         android:background="@drawable/main_body">
12     </TextView>
13  
14 </LinearLayout>

[代码] AndroidManifest.xml文件

01 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
02     package="com.android.app"
03     android:versionCode="1"
04     android:versionName="1.0" >
05  
06     <uses-sdk
07         android:minSdkVersion="8"
08         android:targetSdkVersion="15" />
09  
10     <application
11         android:icon="@drawable/ic_launcher"
12         android:label="@string/app_name"
13         android:theme="@style/AppTheme" >
14         <activity android:name=".AppStart" >
15             <intent-filter>
16                 <action android:name="android.intent.action.MAIN" />
17  
18                 <category android:name="android.intent.category.LAUNCHER" />
19             </intent-filter>
20         </activity>
21         <activity android:name=".Main" >
22         </activity>
23     </application>
24     <!-- 摄像头、手电筒 -->
25     <uses-permission android:name="android.permission.CAMERA" />
26     <uses-permission android:name="android.permission.FLASHLIGHT" />
27  
28     <uses-feature android:name="android.hardware.camera" />
29     <uses-feature android:name="android.hardware.camera.autofocus" />
30     <uses-feature android:name="android.hardware.camera.flash" />
31  
32 </manifest>