Soru & Cevap

Home tuşunun eylemine nasıl müdahele edilir?

17.01.2014 - 11:41

Merhaba arkadaşlar benim bir sıkıntım var netten biraz araştırmama rağmen doğru yanıtı bulamadım.

sorunnum şu benim uygulamamdan home tuşuna basarak çıkmak istiyen kullanıcıya bir uyarı penceresi çıkarmak istiyorum uygulamadan çıkmak istiyor musun diye eger hayır a basarsa uygulama devam etmeli.yani home tuşunnun fonksiyonuna müdahele edip tuşa basılmamış gibi false döndürmem lazım nasıl yapa bilirim?

102 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user kcdroid
kcdroid
27.01.2014 - 08:52

Merhaba Hack yöntemleri kullanılmadan Android Home butonunun override edilmesine izin vermiyor.Ben bir uygulamamda şöyle çözmüştüm bu sorunu bir aktivite içinde mesela Home 'a basınca arkaya gidiyor ya Stop oluyor yani bende onStop() methodunu override edip onun içine yazmıştım yapacaklarımı. Bu arada onBackPressed veya başka bi aktiviteye geçiş butonunuz varsa onlara flag ekleyip onStop()'da bunu kontrol etmeyi unutmayın yoksa herşeyi onStop olarak algılayacak aktivite :) Kolay gelsin

AYTUNÇ
06.06.2014 - 11:56
kardeş öncelikle kolay gelsin.. bu konuyla ilgili küçük bir sorum olacak sana.. öncelikle home butonuna basınca uygulamadan çıkıp uygulamayı arka plana almayı engelleme şansımız var mı bu yöntemle veya bildiğin bir yöntemle?? ben ne yaptıysam bunu başaramadım
Profile picture for user ilker_cimenci
ilker_cimenci
20.01.2014 - 12:36

Öncelikle Cevabnız için çok teşekkürler. Fakat emülatör de Çalışmadı verdiğiniz kod...

if(keyCode==event.KEYCODE_HOME)  satırındada keycode_home altı çizilerek warning uyarısı veriyor
       

Ayrıca internette yabancı sitelerde (ingilizcem yok) araştırdıgım ve anladığım kadarıyla 4.03 sürümünden sonra bu home tusnundan bilgi alma amaçlı kod güvenlik acıgı oluşturdugundan dolayı kaldırıldıgını söyleyen yorumlar var onun yerine onpause() metodu kullanılmalı diyorlar.

Fakat android de ekran tuş kilidi uygulamaları malumunuz home tuşununun fonksiyonunu engelliyor. bu uygulamlar engelleye bildigğine göre bunun bir yolu olması gerektiğini düşünüyorum.

picture-8572-1421266577.png
mmnbsl
18.01.2014 - 03:00

Merhaba,

onKeyDown methodunu Override edip bunun içinde Home tuşunun basılıp basılmadığını kontrol edebilrsin.

bu işini görebilir;

[code]

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode==event.KEYCODE_HOME){
            AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
            dialog.setCancelable(false);
            dialog.setMessage("çıkmak istediğinizden emin misiniz?");
            dialog.setPositiveButton("evet", new OnClickListener() {
                
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    finish();
                    
                }
            }).setNegativeButton("hayır", new OnClickListener() {
                
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
                    
                }
            }).create().show(); 
            
        }
        
        return super.onKeyDown(keyCode, event);
    }

[/code]

 

ilker
20.01.2014 - 12:36
Öncelikle Cevabnız için çok teşekkürler. Fakat emülatör de Çalışmadı verdiğiniz kod... if(keyCode==event.KEYCODE_HOME) satırındada keycode_home altı çizilerek warning uyarısı veriyor Ayrıca internette yabancı sitelerde (ingilizcem yok) araştırdıgım ve anladığım kadarıyla 4.03 sürümünden sonra bu home tusnundan bilgi alma amaçlı kod güvenlik acıgı oluşturdugundan dolayı kaldırıldıgını söyleyen yorumlar var onun yerine onpause() metodu kullanılmalı diyorlar. Fakat android de ekran tuş kilidi uygulamaları malumunuz home tuşununun fonksiyonunu engelliyor. bu uygulamlar engelleye bildigğine göre bunun bir yolu olması gerektiğini düşünüyorum.