SORU
4 Ocak 2010, PAZARTESİ


Geçersiz home düğmesi gibi hareket butonu geri

Geri düğmesine basarak, benim uygulama durduruldu durumuna, yıkılan devletin yerine gitmek istiyorum.

Android docs belirtir:

...tüm faaliyetler TEKRAR basıldığında yok edilir bir davranış. Kullanıcı başlatır Müzik Müzik uygulama ve pres GERİ, uygulama geçersiz kılar geri normal davranış önlenmesi, oyuncu etkinlikten olmak yok, ve devam ediyor müzik çalma, olsa bile onun faaliyettir artık görünür

Bu işlevselliği çoğaltmak kendi uygulamam mı?

Üç ihtimal olmalı bence

  1. Geri düğmesine basın (aşağıda) yakalama ve ev düğmesine aramalar ne olursa olsun Ara.

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK)) {
            Log.d(this.getClass().getName(), "back button pressed");
        }
        return super.onKeyDown(keyCode, event);
    }
    
  2. Geri düğmesine basın yakalama ve ev düğmesine basın parodi.

  3. Geri düğmesine basın yakalama, ana ekranın bir Aktivite, etkili bir şekilde durdu durumuna başvurum Etkinlik koyarak başlatın.

Düzenleme: İlgili hizmetleri biliyorum Ve bu sorun ile ilgili bir uygulama kullanıyorum. Bu soru özellikle geri tuşuna basarak üzerinde durduğu devlet yerine tahrip devleti Aktivite koymak istiyorsun.

CEVAP
4 Ocak 2010, PAZARTESİ


Arka planda bir şeyler yapmak Service bir oluşturmak için gereken süreyi, ve Activity görünür çoğu sadece Service Bu denetimleri. (Müzik çalar aynı şekilde çalıştığından emin değilim, dokümanlar örnek biraz yanıltıcı gibi.) Eğer durum buysa, o zaman Activity finish her zamanki gibi Service hala çalışıyor olacak.

Daha basit bir yaklaşım Back düğmesine basın yakalayıp şöyle: moveTaskToBack(true) aramak

// 2.0 and above
@Override
public void onBackPressed() {
    moveTaskToBack(true);
}

// Before 2.0
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

Tercih edilen seçenek, normal olarak bitirmek ve kendisini örneğin yeniden yaratabilir gerekirse bir Hizmeti mevcut durumu okumak için bir Etkinlik olması gerektiğini düşünüyorum. Ama moveTaskToBack vesileyle hızlı bir alternatif olarak kullanılabilir.

NOT: Dave aşağıda Android 2.0 belirttiği gibi onBackPressed yeni bir yöntem tanıttı, ve Geri düğmesi nasıl these recommendations.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cekehechu

    cekehechu

    20 HAZİRAN 2006
  • Dave Wallace

    Dave Wallace

    27 Kasım 2007
  • GUN-TIME with Brandon

    GUN-TIME wit

    3 ŞUBAT 2009