Galaxy SIIIでテストする能力がないので、誰かが同じ問題に直面することを望んでいました. ユーザーによると、以前は正常に動作していましたが、突然動作しなくなりました。再起動、再インストール、同じ問題。背面の LED (フラッシュ) が点灯しなくなりました。
LOG が表示されないため、なぜ突然機能しなくなったのかわかりません。
Android 4.1.2 SDK16 で動作する Samsung Galaxy SIII (GT-I9300) です。
次のメソッドに true を渡して、フラッシュをオンにします。
public void setTorch(boolean on){
if (!hasTorch()){return;}
if (mCamera==null){surfaceCreated(mHolder);return;}
String _model = android.os.Build.MODEL;
String _manufaturer = android.os.Build.MANUFACTURER;
camParams = mCamera.getParameters();
List<String> flashModes = camParams.getSupportedFlashModes();
if (on){
if((_model.contains("GT-S5830") && _manufaturer.contains("samsung"))){
camParams.set("flash-mode", "on");
mCamera.setParameters(camParams);
} else {
camParams = mCamera.getParameters();
camParams.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(camParams);
}
} else {
camParams = mCamera.getParameters();
camParams.setFlashMode(Parameters.FLASH_MODE_OFF);
mCamera.setParameters(camParams);
}
}