Я пытаюсь написать приложение, которое включает вспышку при нажатии кнопки. Проблема в том, что приложение не обнаруживает вспышку на моем телефоне. Я искал много в Интернете. Конечно, другие столкнулись с проблемой, я также применил эти решения, но они, похоже, не работают. Я не знаю, что вызывает эту проблему. Проводка код здесь:Вспышка не обнаружена
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_starting_point);
if(! getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) // checking if flash light is available inn android phone
{
Toast.makeText(StartingPoint.this, "Sorry this app can't work without flash light", Toast.LENGTH_LONG).show();
finish();
}
cam = Camera.open();
param = cam.getParameters();
}
@Override
public void onClick (View v)
{
if(!flashOn)
{
i=0;
flashOn=true;
param.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(param);
cam.startPreview();
}
else{
i=0;
flashOn=false;
param.setFlashMode(Parameters.FLASH_MODE_OFF);
cam.setParameters(param);
cam.stopPreview();
}
}
Я добавил эти разрешения в Android Manifest, а также.
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
С уважением
Вы пытались установить эти линии cam = Camera.open(); param = cam.getParameters(); перед вашей первой операцией if() в onCreate()? – CENT1PEDE
Вы протестировали это на всех устройствах? –
Пожалуйста, проверьте код @ Ilya_Gazman на XOLO A600 или Moto G ... – Niko