2014-04-18 27 views
13

Önplan servisini kullanan bir uygulama üzerinde çalışıyorum. bu amaçla startForeground(id,Notification) numaralı telefonu arayarak hizmetin geri çağırma onStartCommand.Android: Önplanın düzgün şekilde görüntülenmemesine dikkat edin

Bildirimi oluşturmak için bir bildirim oluşturucuyu kullanıyorum ancak startForeground'a ilettiğimde, yalnızca ayarlanmış metin görüntülenirken görüntülenir, diğer her şey varsayılana döner, yani Başlık şöyle diyor: "çevrimiçi"

Ayrıca bildirim.Bu programda setText ve setInfo yöntemini kullanarak ayarlamış olduğum her şey, onun yerine "daha fazla bilgi için dokunun veya uygulamayı durdurmak" gibi varsayılan metni göstermiyor.

İşte ilgili kod:

Service:

private final int NOTIFICATION_ID=1; 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     Toast.makeText(this,"EDI: Core service Started" , Toast.LENGTH_LONG).show(); 
     startForeground(NOTIFICATION_ID, CoreServiceNotification.getNotification(this, "EDI is online", "Online","Online and running","EDI just started")); 
     return super.onStartCommand(intent, flags, startId); 
    } 

CoreServiceNotification:

public class CoreServiceNotification { 

     public static Notification getNotification(Context context,String title,String text,String info,String tickerText){ 
      Notification.Builder notificationBuilder= new Notification.Builder(context); 
      notificationBuilder.setContentTitle(title); 
      notificationBuilder.setContentText(text); 
      notificationBuilder.setContentInfo(info); 
      notificationBuilder.setTicker(tickerText); 
      notificationBuilder.setLights(0x00ffff00, 1000, 0); 
      return notificationBuilder.build(); 
     } 

    } 

SONUÇ: Ben size bildirim oluştururken ilk Smallicon ayarlamak için gerekli olduğunu düşünüyorum enter image description here

+0

, Cousera Android sınıfından başka basit bir örnek, siz notificationManager.notify' gibi eklemek zorunda ardından Nesne '("1", notificationBuilder); –

+1

Hayır, bildirim nesnesini hizmetin StartForeground yöntemine iletiyorum. Buradaki [link] (http://developer.android.com/reference/android/app/Service.html) – Allahjane

+0

yöntemine bakın. senin sorunun? –

cevap

21

. İşte

Notification.Builder notificationBuilder= new Notification.Builder(context); 
notificationBuilder.setSmallIcon(R.drawable.yourIcon); 
// then set other staff... 

Sana `NotificationManager notificationManager oluşturma unutmak düşünüyorum Click here

+2

Bu cevap kabul edildi olarak işaretlenmelidir. –

+0

SmallIcon'u ilk olarak ayarlama, istisnayı önlemek için yardımcı olmaz! – Tano

+0

idk bu sorunu nasıl geçiyor? Her neyse basketful teşekkürler benden. –

İlgili konular