Intereting Posts
ActionBarSherlock + maven + eclipse: зависимость не найдена в рабочей области Как узнать, какой вид в настоящее время имеет фокус? Каков наиболее подходящий способ хранения пользовательских настроек в приложении Android Как пройти Drawable с помощью Parcelable Как изменить значение TextView внутри кода Java? Требуется разрешение android – call_phone? Не удалось открыть выбранный порт отладки VM (8700) Android: как использовать Wi-Fi-сеть для определенных хостов, но использовать телефон. Мобильная сеть для всего остального. Кнопка фрагмента внутри триггера ViewPager onClickListener при неправильной ссылке Сопоставление между разрешениями Android (которые мы определяем в файле manisfest) на соответствующие вызовы / методы API Как установить стиль текста кнопки в селекторах? Мое недавно выпущенное приложение не может быть установлено: Код ошибки: -504 Нейронная сеть распознает акселерометр Запросы HTTP-сообщений с использованием HttpClient занимают 2 секунды, почему? Связывание внутри Intent из приложения Native cpp с использованием Binder

Как показать изображение в push-уведомлении (Gcm) Android?

С двух дней я пытаюсь так себя вести. Но я потерпел неудачу. Пожалуйста, кто-нибудь подскажет мне, как получить изображение в push-уведомлении. Заранее спасибо.

Введите описание изображения здесь

Код, который я пробовал:

@SuppressWarnings("deprecation") private void handleMessage(Context mContext, Intent intent) { Bitmap remote_picture = null; long when = System.currentTimeMillis(); int icon = R.drawable.reload_logo; try { Bundle gcmData = intent.getExtras(); if(intent.getExtras().getString("message")!=null) 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)) .setLargeIcon(remote_picture) .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(); } } 

Я получаю маленькую иконку, а большой значок – с одним и тем же изображением. Но я дал разные.

результат:

Solutions Collecting From Web of "Как показать изображение в push-уведомлении (Gcm) Android?"

Спасибо @ Рави.

 @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(); } } } 

Для нескольких линий:

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