2016-07-12 7 views
0
アンドロイド2.3で

、4、4.1、4.2、4.3、4.4作品正しくAndroid 5でカメラが動作しないのはなぜですか?

私は、Android 2.3 APIでこの機能をしました:

エラーを返す、行の

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { 
    // 1º Si se esta viendo preview, se detiene 
    if (mPreviewRunning) { 
     mCamera.stopPreview(); 
    } 
    // 2º Se setean los nuevos parametros de la camara 
    Camera.Parameters p = mCamera.getParameters(); 
    p.setPreviewSize(w, h); 
    mCamera.setParameters(p); 

    // 3º Volvemos a mostrar el preview 
    try { 
     mCamera.setPreviewDisplay(holder); 
    } catch (IOException e) { 
     e.printStackTrace(); 
     Toast.makeText(ctxt, "Error refreshing camera", Toast.LENGTH_LONG) 
      .show(); 
    } 

    mCamera.startPreview(); 
    mPreviewRunning = true; 
} 

アプリのクラッシュ:W/System.errの:java.lang.RuntimeException:

:この復帰後カメラサービス

mCamera.setParameters(p); 

への接続に失敗

W/System.errのに:にjava.io.IOExceptionが:オープンに失敗しました:ENOENT(そのようなファイルまたはディレクトリ)

これは私の2つのアプリケーションのための私のマニフェストです:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.foca.deboSancion" 
    android:versionCode="4" 
    android:versionName="14.7" > 

    <uses-sdk android:minSdkVersion="8" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
    <uses-permission android:name="android.permission.BLUETOOTH" /> 
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.foca.deboComun" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
    <uses-feature android:name="android.hardware.camera" /> 
    <uses-sdk android:minSdkVersion="8" /> 

答えて

1

まあmCamera.setParameters(p);ではありません狼狽(アンドロイド5.0)APIの問題、そのデバイス特有。カメラのパラメータを持つデバイスの動作のほとんどは、最終的です、私はあなたがクラッシュしようとすると、それを変更することはできませんことを意味します。試しにキャッチの簡単なソリューションの使用、高度な使用反射(提案:これは行っていない)

関連する問題