画面の1つにFrameLayoutがあります。私はこのように私のコードでそれを参照します:
preview = (FrameLayout)findViewById(R.id.preview);
そして、CameraPreviewオブジェクト(QR解析用のZBar SDKからSurfaceViewを拡張)を次のようにFrameLayoutに埋め込みます。
scanner.setConfig(0, Config.Y_DENSITY, 3);
mPreview = new CameraPreview(this, mCamera, getPreviewCallback(), autoFocusCB);
if(preview.getChildCount()>=1)
preview.removeAllViews();
preview.addView(mPreview);
テスト用の電話の1つであるSamsungGalaxy3(GT-I5801)でこれを実行すると、すべてが正常に機能し、QRが正常に解析されます。しかし、Samsung GalaxyS2またはSamsungAceでスキャンすると、アプリは最初は低解像度のカメラで起動するか、焦点を合わせることができません。また、非常に明るい画面に置くと、ホワイトバランスを自動的に調整できません。しかし、アプリ内の[カメラ]タブから別のタブに移動して戻ってくると、カメラは正常に動作し始めます。
これを解決するための助けをいただければ幸いです。画面やカメラの解像度と関係がありますか?または、誰かが知っている場合は、ZBar SDKに何かありますか?または、ほとんどの場合、私は何かが欠けていますか?ここまで読んでいただき、ありがとうございます。