1、打開相機時崩潰,原因是沒有在Androidmanifest中使能camera權限。
加上 <uses-permission android:name="android.permission.CAMERA">
2、拍照後,程序崩潰
原因是 保存文件的SD卡沒有使能讀寫權限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
3、、拍照一次以後再點擊拍照出現:fail to connect to camera service
因爲camera沒有被釋放,或者說系統有自動釋放功能但是還沒有被處理。加上手動釋放代碼解決,代碼如下:
private void resetCamera()
{
if (mCamera01 != null && bIfPreview)
{
mCamera01.stopPreview();
/* 手動釋放 */
mCamera01.release();
mCamera01 = null;
bIfPreview = false;
}
}
完整的Androidmanifest.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.simple_camera"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.CAMERA">
</uses-permission>
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>