1

MotorolaFirext-530用のフラッシュトーチアプリを作成しようとしています。トグルボタンに応答するこのコードを確認してください。

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            if (getApplicationContext().getPackageManager().hasSystemFeature(
                    PackageManager.FEATURE_CAMERA_FLASH)) {
                camera = Camera.open();
                params = camera.getParameters();
                List<String> flashModes = params.getSupportedFlashModes();
                if (flashModes == null) {
                    Toast.makeText(getApplicationContext(), "No Flash Found",
                            Toast.LENGTH_SHORT).show();
                } else {
                    camera.startPreview();
                    if (flashModes.contains(Parameters.FLASH_MODE_TORCH)) {
                        Toast.makeText(getApplicationContext(),
                                "Torch Mode Found", Toast.LENGTH_SHORT).show();
                        params.setFlashMode(Parameters.FLASH_MODE_TORCH);
                        camera.setParameters(params);
                        camera.takePicture(null, null, null);
                    } else {
                        Toast.makeText(getApplicationContext(),
                                "Torch Mode Not Found", Toast.LENGTH_SHORT).show();
                    }
                }
            } else {
                Toast.makeText(getApplicationContext(), "Not Available",
                        Toast.LENGTH_SHORT).show();
            }
        } else {
            camera.stopPreview();
            camera.release();
            Toast.makeText(getApplicationContext(), "Not Checked",
                    Toast.LENGTH_SHORT).show();
        }

トーチモードが見つかりません。根付いていません。私を助けてください。

4

1 に答える 1

0

すべてのAndroid携帯電話がトーチモードをサポートしているわけではありません(あなたの携帯電話もその1つだと思います)。ただし、1つの解決策は、電話をルート化し、それをサポートするカスタムROMを設定することです。もう1つは、FLASH_MODE_ONを使用して回避策を作成することです。または、サポートされているリストにない場合でも、FLASHMODETORCHをトリガーすることもできます。

于 2012-08-17T12:59:38.347 に答える