Her uygulamada olması gereken bir özellik olduğunu düşünüyorum.Çünkü uygulamayı kullanan kullanıcıların bir şekilde uygulamada kalıp yada kalmamasını kendilerinin belirlemesi gerekir. O yüzden kullanıcıya uygulamanın ana ekranında iken bu kontrollü çıkış işlemini yaparsak kullanıcının yanlışlıkla uygulamadan çıkmasına engel olmuş oluruz.
İlk önce kontrol yapıcağımız activitye geliyoruz;
import
android.app.Activity;
import
android.app.AlertDialog;
import
android.app.Dialog;
import
android.content.DialogInterface;
import
android.os.Bundle;
import
android.view.KeyEvent;
public
class
anasayfa
extends
Activity {
private
static
final
int
DIALOG_REALLY_EXIT_ID =
0
/*bu değişkeni farklı dialoglardan ayırmak için tanımlıyoruz.Aşağıda dialog oluştururken ve kontrolünde kullanıcaz*/
// Called when the Activity is first created.
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Burda artık activityde ne yapmak istiyorsanız onları kodluyosunuz.
}
//Burda back buttonuna basıldığındaki çıkıcak olan uyarı dialogunu oluşturuyoruz.
@Override
protected
Dialog onCreateDialog(
int
id) {
final
Dialog dialog;
switch
(id) {
case
DIALOG_REALLY_EXIT_ID:
dialog =
new
AlertDialog.Builder(
this
).setMessage(
"Uygulamadan çıkmak istiyor musunuz?"
)
.setCancelable(
false
)
.setPositiveButton(
"Evet"
,
new
DialogInterface.OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
id) {
anasayfa.
this
.finish();
/*Burda kullanıcı evet butonuna bastığında uygulamadan kontrollü bir şekilde çıkmış oluyor.*/
}
})
.setNegativeButton(
"Hayır"
,
new
DialogInterface.OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
id) {
dialog.cancel();
/*Burada da kullanıcı hayır butonuna bastığında dialogu dismiss ederek(dialog.cancel())kullanıcının uygulamaya tekrar dönmesini sağlıyoruz.*/
}
}).create();
break
;
default
:
dialog =
null
;
}
return
dialog;
}
@Override
public
boolean
onKeyDown(
int
keyCode, KeyEvent event) {
if
(keyCode == KeyEvent.KEYCODE_BACK)
showDialog(DIALOG_REALLY_EXIT_ID);
return
true;
}
Bu kontrolü sadece uygulamadan çıkarken değil uygulamanın diğer sayfalarında da back buttona basıldığında uygulamanın farklı bir şey yapmasını istiyorsanız da kullanabilirsiniz.Benim de kendi uygulamam da kullandığım halini altta resim olarak paylaştım.Herkese iyi çalışmalar.Denemek isterseniz—>https://play.google.com/store/apps/details?id=com.quarklabs.mobilgazete