我有一个非常奇怪的问题,我正在研究推送通知并且它已成功实现但是当我在通知中使用BigTextStyle在通知区域中使用setFullScreenIntent()方法显示长消息时,问题就出现了通知开放自动激活,在PendingIntent中设置。
如果我不使用setFullScreenIntent(),则通知会自动打开活动,用户必须点击或点击通知才能打开PendingIntent中设置的活动。
所以有两个代码
没有setFullScreenIntent()正常工作而不能自动打开Activity:
notification = new NotificationCompat.Builder(context)
.setContentTitle("Title")
.setContentIntent(resultPendingIntent)
.setContentText(message)
.setStyle(
new NotificationCompat.BigTextStyle()
.bigText(message))
.setSmallIcon(R.drawable.ic_launcher)
.setAutoCancel(true);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(1, notification.build());
使用setFullScreenIntent()也可以正常工作但自动打开Activity: -
notification = new NotificationCompat.Builder(context)
.setContentTitle("Title")
.setContentIntent(resultPendingIntent)
.setContentText(message)
.setStyle(
new NotificationCompat.BigTextStyle()
.bigText(message))
.setSmallIcon(R.drawable.ic_launcher)
.setFullScreenIntent(resultPendingIntent, true) //Whether true or false same result
.setAutoCancel(true);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(1, notification.build());
答案 0 :(得分:3)
public NotificationCompat.Builder setFullScreenIntent(PendingIntent intent,boolean highPriority)
启动的意图,而不是将通知发布到状态 酒吧。仅适用于要求极高优先级的通知 用户的即时关注,例如来电或拨打电话 用户已明确设置为特定时间的闹钟。如果 这个设施用于其他东西,请给用户一个 选项将其关闭并使用正常通知,因为这可以 非常具有破坏性。
在某些平台上,系统UI可能会选择显示单挑 通知,而不是在用户的情况下启动此意图 使用该设备。
<强>参数强>
意图:即将发布的意图。
highPriority:传递 true将导致发送此通知,即使是其他通知 通知被抑制。
找到here。正如您所看到的,它会立即启动意图。我真的不知道你想在什么情况下使用setFullScreenIntent()
?
当静态通知显示在顶部时,通知不会自动展开(可以是带wifi,蓝牙和声音控制的自定义栏)
答案 1 :(得分:0)
将setFullScreenIntent和setContentIntent传递给不同的待处理意图。
为我工作。点击Notif将工作,自动启动将停止