SORU
7 Aralık 2011, ÇARŞAMBA


Geçti Niyet onStartCommand BOŞ olacağını sebep

onStartCommand(Intent, int, int) geçirilen Niyet sistemi dışında BOŞ START_STICKY gibi bir bayrak) hizmetini yeniden başlatmak olacağını başka bir nedeni var mı?

Hizmet sistem tarafından yeniden başlatıldığında da, Intent.getAction() yöntem döndürür... bazen BOŞ. Niyet sadece BOŞ getAction() değildir

here çok sordum ama henüz bir cevap alamadım.

GÜNCELLEME: Mark Murphy ile sohbet ettikten sonra, tüm niyet yeniden başlatma aşağıdaki yollanması START_STICKY yerine benim servis onStartCommand() geri arama START_REDELIVER_INTENT dönüş önerdi.

Ben yapmadım başlangıçta çünkü ben ilgili servis edildi denemeden bir şey yapmak, sonra ortasında bir hizmeti oldu yeniden... ... tanımak başladı yaparak bir şey? Bu mantık için sorumlu olmak gerekir:) sanırım

CEVAP
19 Aralık 2013, PERŞEMBE


Gelen bayrakların tartışma yok şaşırdım. Aşağıdaki günlükleri: bu monitörü alacağım

if (null == intent || null == intent.getAction ()) {
        String source = null == intent ? "intent" : "action";
        Log.e (TAG, source   " was null, flags="   flags   " bits="   Integer.toBinaryString (flags));
        return START_STICKY;
}

Güncelleme: Bayraklar somut hiçbir şey yoktu o yüzden 0. Boş fonksiyon kaybı ile şuraya bıraktım.

Edit: Tamam, buldum belgelerinin START_STİCKY her yerde! "eğer orada herhangi bir bekleyen Başlat komutları teslim edilmesi için servis olacak diye bir null niyet nesne, o yüzden alamam bakım için kontrol edin."

http://developer.android.com/reference/android/app/Service.html

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • FullMag

    FullMag

    15 ŞUBAT 2007
  • kndx

    kndx

    11 Mart 2006