How to keep Listening for Push Notifications on Android in the background

北城余情 提交于 2019-12-07 06:04:15

问题


I am working on Push Notifications in Android. Now the issue is that I want to keep running my Push Notifications on the back ground as soon as the app start because I have no idea when the server will push the data to the devices.

The main requirement is that our corporate app is having more than 10 activities and based on the notification received, I have to bring the related activity on the foreground so that user can preform action on that or do some silent action in the background regardless the activity is in foreground.

Can somebody suggest how can I implement this type of requirement. Do I need to do it in a Service.

Thanks


回答1:


An Android application on an Android device doesn't need to be running to receive messages. The system will wake up the Android application via Intent broadcast when the message arrives, as long as the application is set up with the proper broadcast receiver and permissions.

take look at this;

http://developer.android.com/guide/google/gcm/gcm.html

when message received from gcm server

onMessage(Context context, Intent intent): method of GCMIntentService gets fire,

so you write your code there

take sample example from here

https://github.com/ketanpatel25/GCM-Demo/tree/master/gcm




回答2:


What you're trying to do defeats the purpose of push notifications. In push notifications, the server sends the message through Google APIs. These APIs then send a broadcast message to your app, which you listen for. Continuously keeping the app open in the background and asking the server for new messages is called polling.

Read up on the GCM documentation. Whenever you receive a message, Android will ca the onMessage(); method of your GCMIntentService.



来源:https://stackoverflow.com/questions/12427171/how-to-keep-listening-for-push-notifications-on-android-in-the-background

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!