Je crée Flashlight Android App .. et face au problème ci-dessous .. S'il vous plaît me guider ... lorsque j'appuie sur le bouton en mode potrait La lumière du flash est allumé et quand je tourne au paysage mode d'éclairage flash se déclenche ..Ne fonctionne pas correctement Orientation de la lampe de poche Application Android
ImageButton imagebuttonon, imagebuttonoff;
public static Camera cmr;
Camera.Parameters parameters;
boolean isFlash = false;
boolean isOn = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imagebuttonoff = (ImageButton) findViewById(R.id.imagebuttonoff);
if (getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH))
{
cmr = Camera.open();
parameters = cmr.getParameters();
isFlash = true;
}
imagebuttonoff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isFlash)
{
//if flash light is not on
if (!isOn) {
imagebuttonoff.setImageResource(R.drawable.onswitch); parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
cmr.setParameters(parameters);
cmr.startPreview();
isOn = true;
} else {
imagebuttonoff.setImageResource(R.drawable.offswitch);
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
cmr.setParameters(parameters);
cmr.stopPreview();
isOn = false;
}
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Error");
builder.setMessage("Flash light not available");
builder.setPositiveButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
finish();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
protected void onPause() {
super.onPause();
cmr.stopPreview();
}
@Override
protected void onRestart() {
super.onRestart();
}
@Override
protected void onResume() {
super.onResume();
if (isOn)
cmr.startPreview();
}
@Override
protected void onStart() {
super.onStart();
cmr.startPreview();
}
@Override
protected void onStop() {
super.onStop();
if (cmr != null)
cmr.release();
cmr = null;
}
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.getBoolean("mode", false);
super.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
}
Soyez conscient de ne pas trop lier votre blog, c'est une pratique qui est mal vue. Bienvenue à bord: D –
N'oubliez pas de dire que quelque chose que vous liez est la propriété de vous si c'est le cas. Si ce n'est pas le cas, c'est du spam. –
Veuillez noter que si vous voulez promouvoir votre propre produit/blog ** vous devez divulguer votre affiliation **, sinon votre réponse pourrait être signalée comme spam. S'il vous plaît lire [Comment ne pas être un spammeur] (https://stackoverflow.com/help/promotion) – DavidPostill