效果图
代码
package com.yang.camera;
import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView textView;
private Camera camera;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
String params = parameters.flatten().replace(";", "\n");
textView.setText(params);
}
@Override
protected void onDestroy() {
super.onDestroy();
camera.release();
}
}
布局文件
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/padding_medium"
tools:context=".MainActivity"
android:textSize="18sp"
android:id="@+id/textView" />
AndroidManifest.xml文件
package="com.yang.camera"
android:versionCode="1"
android:versionName="1.0" >
android:minSdkVersion="8"
android:targetSdkVersion="15" />
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name=".MainActivity"
android:label="@string/app_name" >
一定要使用
@Override
protected void onDestroy() {
super.onDestroy();
camera.release();
}否则会报
08-31 09:05:50.195: E/ActivityThread(3524): Unable to start activity ComponentInfo{com.yang.camera/com.yang.camera.MainActivity}: java.lang.RuntimeException: Fail to connect to camera service
08-31 09:05:50.195: E/ActivityThread(3524): java.lang.RuntimeException: Fail to connect to camera service
08-31 09:05:50.195: E/ActivityThread(3524): at android.hardware.Camera.native_setup(Native Method)
08-31 09:05:50.195: E/ActivityThread(3524): at android.hardware.Camera.(Camera.java:277)
08-31 09:05:50.195: E/ActivityThread(3524): at android.hardware.Camera.open(Camera.java:247)
08-31 09:05:50.195: E/ActivityThread(3524): at com.yang.camera.MainActivity.onCreate(MainActivity.java:19)
08-31 09:05:50.195: E/ActivityThread(3524): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-31 09:05:50.195: E/ActivityThread(3524): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1677)
08-31 09:05:50.195: E/ActivityThread(3524): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1739)
08-31 09:05:50.195: E/ActivityThread(3524): at android.app.ActivityThread.access$1500(ActivityThread.java:124)
08-31 09:05:50.195: E/ActivityThread(3524): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:980)
08-31 09:05:50.195: E/ActivityThread(3524): at android.os.Handler.dispatchMessage(Handler.java:99)
08-31 09:05:50.195: E/ActivityThread(3524): at android.os.Looper.loop(Looper.java:130)
08-31 09:05:50.195: E/ActivityThread(3524): at android.app.ActivityThread.main(ActivityThread.java:3907)
08-31 09:05:50.195: E/ActivityThread(3524): at java.lang.reflect.Method.invokeNative(Native Method)
08-31 09:05:50.195: E/ActivityThread(3524): at java.lang.reflect.Method.invoke(Method.java:507)
08-31 09:05:50.195: E/ActivityThread(3524): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840)
08-31 09:05:50.195: E/ActivityThread(3524): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598)
08-31 09:05:50.195: E/ActivityThread(3524): at dalvik.system.NativeStart.main(Native Method)
08-31 09:05:50.195: E/AndroidRuntime(3524): FATAL EXCEPTION: main
08-31 09:05:50.195: E/AndroidRuntime(3524): java.lang.NullPointerException
08-31 09:05:50.195: E/AndroidRuntime(3524): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1746)
08-31 09:05:50.195: E/AndroidRuntime(3524): at android.app.ActivityThread.access$1500(ActivityThread.java:124)
08-31 09:05:50.195: E/AndroidRuntime(3524): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:980)
08-31 09:05:50.195: E/AndroidRuntime(3524): at android.os.Handler.dispatchMessage(Handler.java:99)
08-31 09:05:50.195: E/AndroidRuntime(3524): at android.os.Looper.loop(Looper.java:130)
08-31 09:05:50.195: E/AndroidRuntime(3524): at android.app.ActivityThread.main(ActivityThread.java:3907)
08-31 09:05:50.195: E/AndroidRuntime(3524): at java.lang.reflect.Method.invokeNative(Native Method)
08-31 09:05:50.195: E/AndroidRuntime(3524): at java.lang.reflect.Method.invoke(Method.java:507)
08-31 09:05:50.195: E/AndroidRuntime(3524): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840)
08-31 09:05:50.195: E/AndroidRuntime(3524): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598)
08-31 09:05:50.195: E/AndroidRuntime(3524): at dalvik.system.NativeStart.main(Native Method)异常