3

長い間 Java 開発者として Android 向けのプログラミングを始めたばかりで、小さな懐中電灯アプリを作成しました (xD が足りないように)。非常に多くの異なる電話があることを認識しており、一部のデバイスでは異なるアプローチが必要なため、すべてのデバイスで LED ライトを一貫してオンにするのが難しい場合があることを読みました。

私は現在、このアプローチを使用してカメラの LED をオンにしています。

camera = Camera.open();

Camera.Parameters params = camera.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(params);
camera.setPreviewDisplay(holder);
camera.startPreview();

明らかに、フラッシュが機能することを確認するためにエミュレーターを実際に使用することはできないため、Samsung Galaxy Nexus と Nexus 4 でしかテストできませんでした。どちらでも動作しますが、これが最も互換性があるかどうか疑問に思っていました。アプローチするか、より多くのデバイスで機能させるために私がすべきことはありますか?

また、アプリを Google Play に無料で公開しましたので、ここで試してみて、お使いのデバイスで動作するかどうかをお知らせください:)

ご協力ありがとうございました!

4

2 に答える 2

1

私は自分で楽しみのために1つだけやりました。GingerBeard デバイスで setPreviewDisplay(holder) を実行すると、動作しないことに気付きました。だから私はこのようなことをしました。

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
            camera.setPreviewDisplay(mSurfaceView.getHolder());
        }
于 2013-02-09T02:08:22.613 に答える