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

  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • Mindy

    Mindy

    20 NİSAN 2006