Flashlight Not Working,when Device Screen Is Off/sleep (android Studio)
Solution 1:
Add below code inside if(!isOn) block:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
And the screen will never sleep. Then in the else block of that statement, add below code, which reenables the sleep feature:
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
If you use onStop() method at the end for turning camera off when user closes the app, add the same code getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
In that block too.
Solution 2:
MainActivity.java code
publicclassMainActivityextendsAppCompatActivity {
ImageButton imageButton;
Camera camera;
Camera.Parameters parameters;
boolean isflash=false;
boolean isOn=false;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageButton=(ImageButton) findViewById(R.id.imageButton); if(getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) { camera=Camera.open(); parameters=camera.getParameters(); isflash=true; } imageButton.setOnClickListener(new View.OnClickListener(){
@OverridepublicvoidonClick(View v){
if (isflash)
{
if (!isOn)
{
imageButton.setImageResource(R.drawable.on);
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
camera.startPreview();
isOn=true;
}
else
{
imageButton.setImageResource(R.drawable.off);
parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
camera.stopPreview();
isOn=false;
}
}
else
{
AlertDialog.Builder builder=newAlertDialog.Builder(MainActivity.this);
builder.setTitle("Error........");
builder.setMessage("Flashlight is not Available on this device...");
builder.setPositiveButton("Ok",newDialogInterface.OnClickListener(){
@OverridepublicvoidonClick(DialogInterface dialog,int which){
dialog.dismiss();
finish();
}
});
AlertDialog alertDialog=builder.create();
alertDialog.show();
}
}
});
}
@OverrideprotectedvoidonStop() {
super.onStop();
if (camera!=null)
{
camera.release();
camera=null;
}
}
}
Post a Comment for "Flashlight Not Working,when Device Screen Is Off/sleep (android Studio)"