Notification Big Text Android GCM

后端 未结 1 1252
轻奢々
轻奢々 2020-12-19 09:55

I\'m having trouble getting Android\'s Big Text notifications to work as documented here: NotificationCompat.BigTextStyle. Here\'s the code I\'m using to display notificatio

相关标签:
1条回答
  • 2020-12-19 10:37

    From NotificationCompat.BigTextStyle documentation :

    Helper class for generating large-format notifications that include a lot of text. If the platform does not provide large-format notifications, this method has no effect. The user will always see the normal notification view.

    Perhaps your platform doesn't support large-format notifications.

    EDIT :

    On the other hand, it's possible your problem is here :

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

    You are not using the return value of bigText.

    Try to change it to :

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

    or to :

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

    EDIT2 :

    Costom Notification Layout for older Android versions :

    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 讨论(0)
提交回复
热议问题