How to show the image in push notification (Gcm) android?

前端 未结 1 374
长发绾君心
长发绾君心 2021-01-30 04:48

From two days I am trying to get like this. But I failed. Please any one suggest me how to get image in push notification. Thank you in advance.

Code what I tri

1条回答
  •  无人共我
    2021-01-30 05:11

    thank you @Ravi.

    @SuppressWarnings("deprecation")
        private void handleMessage(Context mContext, Intent intent) {
            Bitmap remote_picture = null;
            long when = System.currentTimeMillis();
            int icon = R.drawable.reload_logo;
            Bundle gcmData = intent.getExtras();
            //if message and image url
            if(intent.getExtras().getString("message")!=null && intent.getExtras().getString("imageurl")!=null) {
                try {
    
    
                    Log.v("TAG_IMAGE", "" + intent.getExtras().getString("message"));
                    Log.v("TAG_IMAGE", "" + intent.getExtras().getString("imageurl"));
    
    
                    NotificationCompat.BigPictureStyle notiStyle = new NotificationCompat.BigPictureStyle();
                    notiStyle.setSummaryText(intent.getExtras().getString("message"));
    
                    try {
                        remote_picture = BitmapFactory.decodeStream((InputStream) new URL(intent.getExtras().getString("imageurl")).getContent());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    notiStyle.bigPicture(remote_picture);
                    notificationManager = (NotificationManager) mContext
                            .getSystemService(Context.NOTIFICATION_SERVICE);
                    PendingIntent contentIntent = null;
    
                    Intent gotoIntent = new Intent();
                    gotoIntent.setClassName(mContext, "com.reloadapp.reload.fragments.MainActivity");//Start activity when user taps on notification.
                    contentIntent = PendingIntent.getActivity(mContext,
                            (int) (Math.random() * 100), gotoIntent,
                            PendingIntent.FLAG_UPDATE_CURRENT);
                    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                            mContext);
                    Notification notification = mBuilder.setSmallIcon(icon).setTicker("Reload.in").setWhen(0)
                            .setAutoCancel(true)
                            .setContentTitle("Reload.in")
                            .setStyle(new NotificationCompat.BigTextStyle().bigText(intent.getExtras().getString("message")))
                            .setContentIntent(contentIntent)
                            .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
    
                            .setContentText(intent.getExtras().getString("message"))
                            .setStyle(notiStyle).build();
    
    
                    notification.flags = Notification.FLAG_AUTO_CANCEL;
                    count++;
                    notificationManager.notify(count, notification);//This will generate seperate notification each time server sends.
    
                } catch (Throwable e) {
                    e.printStackTrace();
                }
            }
    }
    

    for multi line:

     .setStyle(new NotificationCompat.BigTextStyle().bigText(intent.getExtras().getString("message"))) // use this
    

    0 讨论(0)
提交回复
热议问题