gpt4 book ai didi

android - 使用 cordova 推送插件推送带有大图像的通知

转载 作者:行者123 更新时间:2023-11-30 02:19:59 25 4
gpt4 key购买 nike

我想获得类似于 flipkart 或 myntra 的推送通知。 (推送通知将附带一张大图,详细介绍优惠,点击后将进入优惠区)。有谁知道如何完成它。我有这样的代码:

NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setDefaults(defaults)
.setStyle(new NotificationCompat.BigTextStyle().bigText("This is a test for push notification with big images."))
.setLargeIcon(icon)
.setSmallIcon(context.getApplicationInfo().icon)
.setWhen(System.currentTimeMillis())
.setContentTitle(extras.getString("title"))
.setTicker(extras.getString("title"))
.setContentIntent(contentIntent)
.setAutoCancel(true);

最佳答案

前一段时间,我创建了一个 pull request为此。

重要代码:

public void createBigPicNotification(Context context, Bundle extras)
{
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
String appName = getAppName(this);

.
.
.


String bigPictureUrl= null;
bigPictureUrl=extras.getString("bigPicture");
Bitmap bigPictureBMP = null;
if (bigPictureUrl != null) {
try {
URL url = new URL(bigPictureUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
bigPictureBMP = BitmapFactory.decodeStream(input);
} catch (IOException e) {
e.printStackTrace();
}
}

NotificationCompat.BigPictureStyle bigPicStyle = new
NotificationCompat.BigPictureStyle();
bigPicStyle.setBigContentTitle(extras.getString("title"));
bigPicStyle.setSummaryText(extras.getString("message"));
bigPicStyle.bigPicture(bigPictureBMP);

NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
.setDefaults(defaults)
.setSmallIcon(context.getApplicationInfo().icon)
.setWhen(System.currentTimeMillis())
.setTicker(extras.getString("title"))
.setContentIntent(contentIntent)
.setAutoCancel(true)
.setStyle(bigPicStyle);

String message = extras.getString("message");
if (message != null) {
mBuilder.setContentText(message);
} else {
mBuilder.setContentText("<missing message content>");
}

String msgcnt = extras.getString("msgcnt");
if (msgcnt != null) {
mBuilder.setNumber(Integer.parseInt(msgcnt));
}

int notId = 0;

try {
notId = Integer.parseInt(extras.getString("notId"));
}
catch(NumberFormatException e) {
Log.e(TAG, "Number format exception - Error parsing Notification ID: " + e.getMessage());
}
catch(Exception e) {
Log.e(TAG, "Number format exception - Error parsing Notification ID" + e.getMessage());
}

mNotificationManager.notify((String) appName, notId, mBuilder.build());
}

关于android - 使用 cordova 推送插件推送带有大图像的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28718872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com