Da due giorni sto cercando di ottenere questo. Ma ho fallito. Per favore qualcuno mi suggerisce come ottenere l'immagine nella notifica push. Grazie in anticipo.Come mostrare l'immagine nella notifica push (Gcm) Android?
Codice quello che ho provato:
@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();
}
}
sto ottenendo piccola icona e grande icona sono stessa immagine con. Ma ho dato diversi.
risultato:
favore, qualcuno mi aiuti. –
Per favore spiega le cose che hai già provato? – Emil
Hai provato a passare un 'json String' contenente l'URL dell'immagine come ** messaggio ** e ne analizzi? – Emil