4

コードに従う必要があり、Galaxy Nexus(4.0.2)で懐中電灯を開きたいだけですが、失敗しました。

public class welcome extends Activity {

//MediaPlayer player;
/** Called when the activity is first created. */
@Override

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.welcome);

    Camera cam = Camera.open();     
    Parameters p = cam.getParameters();
    p.setFlashMode(Parameters.FLASH_MODE_TORCH);
    cam.setParameters(p);
    cam.startPreview();



}
}

私のマニフェストファイル:

<uses-sdk android:minSdkVersion="12" />
       <uses-permission android:name="android.permission.CAMERA" />
 <uses-feature android:name="android.hardware.camera" />

コーディング エラーなのか、それとも Android のバージョンの問題なのかをお聞きしたいのですが。ありがとう

4

3 に答える 3

5

Galaxy nexus は、接続された surfaceView と surfaceHolder がないとフラッシュを使用できません。私は自分で Nexus を持っていますが、プレビュー ビューを添付すると機能しました。懐中電灯アプリでカメラが見ているものを見たくないので、1x1 ピクセルにしてください。

出典: LED 懐中電灯は Samsung Galaxy Nexus では機能しません

于 2012-10-13T19:26:04.080 に答える
0

一部のデバイスでは表面ビューが必要なため、表面ビューを使用してカメラを取り付けます。これでリンクが機能すると確信しています 。あなたのために

于 2014-03-11T07:50:14.433 に答える
0

ここのコードを試しましたか: http://android-er.blogspot.co.uk/2011/02/control-flash-light-function-as-torch.html

Cyanogenmod 7 を実行しているルート化された Desire と、私にとっては ICS rom (4.0.3) で確実に動作します。おそらく、これを実行して動作するかどうかを確認してから、そこから先に進んでください。

また、カメラを見つけてからカメラを開くことができるかどうかを確認するチェックも含まれています。StartPreview() は必要ないようです。

イベントの順序が異なるようです:

1: カメラが存在する場合は、カメラを開きます 2: パラメータを設定します 3: parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
4: camera.setParameters(パラメータ);

于 2012-08-21T14:39:09.997 に答える