SORU
29 HAZİRAN 2010, Salı


&Quot Geçersiz kılmak İçin Nasıl Android;Geri" değil't Tamamlamak düğmesi() benim Etkinlik?

Ben şu anda görüntülenen bir Bildirim geldiğinde, Bildirim çubuğunda görüntülenen alacağınız bir Aktivite var.

Bu Kullanıcı presler ev ve Etkinliğini arka plana itti geldiğinde Bildirim ile faaliyete geri alabilmek.

Sorun ortaya çıktığında bir Kullanıcı presler geri düğmesi, benim Aktivite olur yok ama uyarı olarak kaldığı istiyorum kullanıcı yapabilmek için geri tuşuna basın ama hala yapacak Aktivite yoluyla Bildirim. Ancak bir KULLANICI bunu denediğinde yeni bir faaliyet başlatmak için çabalamak yerine, eskisinin geri getiren onun gibi Boş öneriler alın.

Yani aslında Geri düğmesi ana düğme ile tam olarak aynı hareket etmek istiyorum ve şimdiye kadar çalıştık.


        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event)  {
            if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
                    && keyCode == KeyEvent.KEYCODE_BACK
                    && event.getRepeatCount() == 0) {
                Log.d("CDA", "onKeyDown Called");
                onBackPressed();
            }

            return super.onKeyDown(keyCode, event);
        }

        public void onBackPressed() {
            Log.d("CDA", "onBackPressed Called");
            Intent setIntent = new Intent(Intent.ACTION_MAIN);
            setIntent.addCategory(Intent.CATEGORY_HOME);
            setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(setIntent); 

            return;
        }   

Yukarıdaki kodu hala benim Etkinlik tahrip etmek gibi görünüyor ancak Nasıl Geri düğmesine basıldığında, yok olma benim Etkinlik durdurabilirim?

CEVAP
29 HAZİRAN 2010, Salı


KEY_BACK varsa, anahtar dinleyici kaldırmak veya doğru dönün

sadece şu geri tuşu (süper çağrı emin olun) yakalamak gerekir

Ayrıca, eğer bir planın bir hizmet çalıştırın arka planda, emin olun bakmak startForeground() ve emin olmak için sürekli bir bildirim veya android öldürecek hizmetiniz ihtiyacı için boş bellek

@Override
public void onBackPressed() {
   Log.d("CDA", "onBackPressed Called");
   Intent setIntent = new Intent(Intent.ACTION_MAIN);
   setIntent.addCategory(Intent.CATEGORY_HOME);
   setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   startActivity(setIntent);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • Alexey - servant of Christ

    Alexey - ser

    15 EYLÜL 2007
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008