6

Mam problemy z wyświetlaniem powiadomień Big Text Androida, zgodnie z dokumentacją: NotificationCompat.BigTextStyle. Oto kod, którego używam do wyświetlania powiadomień. Wiem, że wszystkie dane wracają poprawnie, ponieważ mogę je wyświetlić na konsoli oraz jako tradycyjny tekst i tytuł. czy robię coś źle? Czy muszę również zdefiniować bigTestStyle w innym miejscu? Mam nadzieję, że jeden z was zrobił to wcześniej i wie, czego może brakować. Dzięki.Powiadomienie Big Text Android GCM

As you can see the big text message text is not displaying

Mój kod:

NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle(); 
    bigTextStyle.bigText(extras.getString("message")); 
    NotificationCompat.Builder bigTextNotification = new NotificationCompat.Builder(context) 
      .setContentTitle("My App") 
      .setContentIntent(pendingIntent) 
      .setContentText("Message:") 
      .setSound(soundUri) 
      .setTicker(extras.getString("message")) 
      .setWhen(System.currentTimeMillis()) 
      .setSmallIcon(R.drawable.splash) 
      .setAutoCancel(true) 
      .setVibrate(new long[] { 0, 100, 200, 300 }) 
      .setStyle(bigTextStyle); 
    final int notificationId = (int) (System.currentTimeMillis()/1000L); 
    NotificationManager thisone = (NotificationManager) getApplicationContext() 
      .getSystemService(Context.NOTIFICATION_SERVICE); 

    thisone.notify(notificationId, bigTextNotification.build()); 
+0

Mam płótnie micromax A74, wersja Androida 4.2.2.Użycie 'NotificationCompat' działa dobrze dla mnie.Jednakże, kiedy używam' Notification.Bulider', 'BigTextStyle' działa dobrze, ale normalny styl powiadomienia nie działa.To justs wyświetla ikonę powiadomienia bez żadnego tekstu. –

Odpowiedz

4

Od NotificationCompat.BigTextStyle dokumentacja:

klasa Pomocnik do generowania powiadomień wielkoformatowych, które zawierają dużo tekstu. Jeśli platforma nie udostępnia powiadomień wielkoformatowych, ta metoda nie ma żadnego wpływu na działanie. Użytkownik zawsze będzie widział normalny widok powiadomień.

Być może Twoja platforma nie obsługuje powiadomień o dużym formacie.

EDIT:

Z drugiej strony, możliwe jest twój problem jest tutaj:

NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle(); 
bigTextStyle.bigText(extras.getString("message")); 

Nie używasz wartości zwracanej bigText.

Spróbuj zmienić go na adres:

NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle(); 
bigTextStyle = bigTextStyle.bigText(extras.getString("message")); 

lub:

NotificationCompat.BigTextStyle bigTextStyle = new NotificationCompat.BigTextStyle().bigText(extras.getString("message")); 

EDIT2:

Układ Powiadomienie Costom dla starszych wersji Androida:

protected void onMessage(Context context, Intent intent) { 
    // Extract the payload from the message 
    Bundle extras = intent.getExtras(); 
    if (extras != null) { 
     String message = (String) extras.get("message"); 
     String title = (String) extras.get("title");     

     // add a notification to status bar 
     NotificationManager mManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     Intent myIntent = new Intent(this,MyActivity.class); 
     Notification notification = new Notification(R.drawable.notification_image, title, System.currentTimeMillis()); 
     notification.flags |= Notification.FLAG_AUTO_CANCEL; 

     RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification); 
     contentView.setImageViewResource(R.id.image, R.drawable.notification_image); 
     contentView.setTextViewText(R.id.title, title); 
     contentView.setTextViewText(R.id.text, message); 
     notification.contentView = contentView; 
     notification.contentIntent = PendingIntent.getActivity(this.getBaseContext(), 0, myIntent, PendingIntent.FLAG_CANCEL_CURRENT); 
     mManager.notify(0, notification); 
     PowerManager pm = (PowerManager) 
     context.getSystemService(Context.POWER_SERVICE); 
     WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG"); 
     wl.acquire(15000); 
    } 
} 
+0

Żadna z tych nie zadziałała. Nie wiem, czy bigTextStyle jest budowane w ramach bigTextNotification – centree

+0

W takim przypadku jest możliwe, że urządzenie lub wersja Androida nie obsługuje powiadomień wielkoformatowych. – Eran

+0

Używam zupełnie nowego S3. – centree

Powiązane problemy