我想在应用关闭时发出通知。如何在应用关闭时发出通知
即时通讯新的Java和我现在不需要一个服务或使用AlarmManager。
我的想法是用一个数字做一个txt(在我的服务器上),如果是0不做notifiacion,如果是1做notificacion并读取其他txt的所有内容并在通知中使用该文本。
我需要检查每1小时的数字txt。
即使应用程序已关闭,我也需要这样做。
感谢
我想在应用关闭时发出通知。如何在应用关闭时发出通知
即时通讯新的Java和我现在不需要一个服务或使用AlarmManager。
我的想法是用一个数字做一个txt(在我的服务器上),如果是0不做notifiacion,如果是1做notificacion并读取其他txt的所有内容并在通知中使用该文本。
我需要检查每1小时的数字txt。
即使应用程序已关闭,我也需要这样做。
感谢
你想要做什么叫做推送消息,我建议在看火力地堡https://firebase.google.com/docs/cloud-messaging/或亚马逊的实现。
而我需要在应用程序和服务器上进行推送通知? –
如果您阅读了我链接的文档,他们有一步一步的指导来设置服务器和应用程序。我相信他们甚至可以看到一个示例应用程序。 – Ben
您可以使用此代码发送通知。但不要忘记这一点,onStop方法也适用于点击home和recents按钮。所以,只要你点击home或者recents按钮,就会弹出一个通知。您可以通过聆听家中和最近的按钮来改善此代码。
public void onStop() {
NotificationCompat.Builder notificationBuilder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.icon24)
.setContentTitle("App Closed")
.setContentText("You've closed the app")
.setTicker("You've closed the app")
.setAutoCancel(true)
.setLargeIcon(BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.icon96))
.setDefaults(Notification.DEFAULT_ALL);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
notificationBuilder.setPriority(Notification.PRIORITY_HIGH);
}
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notificationBuilder.build());
super.onStop();
}
你是指推送通知还是内部通知? –
您在具体问题中寻找的是AlarmManager,但我会建议您考虑通过Firebase创建推送通知服务。这样,您的应用程序就不必继续ping Web服务,但是只有在需要采取行动时才会收到通知。 – WoogieNoogie
您可以使用此计划的闹钟管理器每隔1小时发出一次警报,并等待一个服务类别的警报,该服务类别将每1小时自动拨打一次服务电话,现在在该服务呼叫中进行后端呼叫,并且一旦从您的文本文件使用NotificationManager生成通知 –