所以我有一个使用AlarmManager的计时器,一旦它达到0我希望它发送一个具有各种属性的通知,具体取决于用户选择的内容(振动与否,播放声音与否,显示或不显示文本,显示...无论它叫什么,下拉托盘中的矩形东西都是如此。
我不确定这里使用的预期类是什么,因为它是立即的,即它是在警报管理器已经达到0并且我现在处于我的广播接收器的onReceive()方法之后,所以我不认为此时我需要使用PendingIntent。
我使用NotificationCompat.Builder
吗?它会做我需要的一切吗?如果是这样,我是否使用支持v4或v7版本?
试试这个:
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(c)
.setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(c.getResources(), R.mipmap.ic_launcher))
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setContentText("This text should be in notification drawer!");
NotificationManager notificationManager = (NotificationManager) c.getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(1, notificationBuilder.build());
Toast.makeText(c, "Toast text!", Toast.LENGTH_LONG).show();
答案 0 :(得分:0)
根据评论中的讨论 -
是NotificationCompat.Builder
将执行您需要的所有上述操作。
.build足以立即发送通知。如果你想设定一个特定的时间你可以使用.setWhen。您可以在此处找到与您需要执行的操作相关的所有方法 - Notification Developer Guide