Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 795
Shax Avatar asked Sep 14 '12 15:09

Shax


2 Answers

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

like image 98
Shiva Avatar answered Oct 24 '22 23:10

Shiva


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.

like image 23
Raghav Sood Avatar answered Oct 24 '22 21:10

Raghav Sood