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> |