gpt4 book ai didi

android NotificationCompat.Builder getNotification 自动发送通知

转载 作者:行者123 更新时间:2023-11-29 21:50:26 25 4
gpt4 key购买 nike

您好,我正在尝试在收到广播消息时在 BroadcastReceiver 中发送通知。来自 Parse.com。但是当从 NotificationCompat.Builder 的实例调用 getNotification 方法时,通知会自动发送并显示一个固定的上下文文本。因此,当调用 mNotificationManager.notify 时,会出现两个通知,一个具有指定的内容文本,另一个没有。我在 API 级别 16。

以下是我在 BroadcastReceiver 中的代码,请帮助我。非常感谢!

 @Override
public void onReceive(Context context, Intent intent) {
try {
String action = intent.getAction();
if (intent.getExtras() != null) {

JSONObject json = new JSONObject(intent.getExtras().getString(
"com.parse.Data"));

String text = json.getString("text");
String title = json.getString("title");
Long timestamp = json.getLong("timestamp");
String qid = json.getString("qid");

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
context).setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(title)
.setContentText(text)
.setTicker("New Reply");

Intent resultIntent = new Intent(context,
QuestionViewActivity.class);
resultIntent.putExtra(QuestionViewActivity.EXTRA_QUESTION_ID,
qid);

TaskStackBuilder stackBuilder = TaskStackBuilder.from(context);
stackBuilder.addParentStack(MainActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder
.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);

NotificationManager mNotificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);

Notification n = mBuilder.getNotification();
mNotificationManager.notify(qid.hashCode(),
mBuilder.getNotification());
}

最佳答案

我终于明白了:

  1. 没有build()方法:是ActionBarSherlock使用旧版本的android-support-v4.jar造成的。只需用/SDK/extras/android/support/v4/android-support-v4.jar 中的更新版本替换该 jar

  2. 对于重复的通知:这是由Parse(parse.com) 服务引起的。当接收到任何使用 JSON 数据中带有“标题”的解析通知库发送的推送时,该服务会自动显示带有固定内容文本的通知,例如“您收到了通知”。这里我用来禁用自动通知的一个技巧是不要在解析推送的JSON数据中使用“标题”和“文本”,而是使用其他名称,然后在自定义的广播接收器中解析它。它现在工作正常。

谢谢!

关于android NotificationCompat.Builder getNotification 自动发送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546665/

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