我想在應用關閉時發出通知。如何在應用關閉時發出通知
即時通訊新的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生成通知 –