我正在尝试实施推送通知,我也收到了通知。但是现在我需要在通知栏中打开通知。即如果我在移动设备开启时收到通知,我们没有看到通知区域中的通知,如果设备关闭,那么当我打开移动设备时,需要在通知栏上获得该通知,我还有其他要求,即如果我删除通知区域中的通知,那么在10分钟后我需要在通知区域/栏中收到该通知。
我该如何做到这一点?
答案 0 :(得分:3)
简单,正确:)
答案 1 :(得分:1)
您可以将PendingIntent与 FLAG_ONE_SHOT 一起使用:
private void sendNotification(String from, String message) {
Bundle bundle = new Bundle();
Intent intent = new Intent(this, ChatActivity.class);
intent.putExtra("INFO", bundle);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setContentTitle(from)
.setSound(defaultSoundUri)
.setContentText(message)
.setSmallIcon(R.drawable.ic_notification)
.setAutoCancel(true)
.setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, builder.build());
}
请记住在清单文件中设置WAKE_LOCK权限:
<uses-permission android:name="android.permission.WAKE_LOCK" />
答案 2 :(得分:0)
要在启动时执行操作,请在清单中注册BroadcastReceveiver
到BOOT_COMPLETED
。
在一段时间后使用AlarmManager
来做事。