Android - Receive Push notification and display it - not quite understanding

android, android-intent, google-cloud-messaging, push-notification

Solution

I figured it out. I finally found a pretty good working project for which you can study the code and understand it. It took me days of googling to find something that wasn't just a piece here and a piece there but instead a whole project. I figured I'd be nice enough to post it in case someone else could use it.

https://github.com/Guti/Google-Cloud-Messaging--Titanium-

Problem

Ok so I finally got setup to register devices for push notifications. I found this code to receive new notifications and display it. Thing is I'm not sure where it goes. I'm pretty new to Android programming so any help is appreciated. I have a service class called GCMService below. ``` import android.content.Context; import android.content.Intent; import android.util.Log; import com.google.android.gcm.GCMBaseIntentService; public class GCMService extends GCMBaseIntentService { private static final String TAG = "GCMService"; public GCMService() { super(); } @Override protected void onRegistered(Context context, String regId) { Log.i(TAG, "Device registered: regId= " + regId); } @Override protected void onUnregistered(Context context, String regId) { Log.i(TAG, "Device unregistered"); } @Override protected void onMessage(Context context, Intent intent) { Log.i(TAG, "Received message"); } @Override public void onError(Context context, String errorId) { Log.i(TAG, "Received error: " + errorId); } @Override protected boolean onRecoverableError(Context context, String errorId) { Log.i(TAG, "Received recoverable error: " + errorId); return super.onRecoverableError(context, errorId); } } ``` Where does the function below go in relation to my class above to receive a new message? ``` private static void generateNotification(Context context, String message) { int icon = R.drawable.ic_launcher; long when = System.currentTimeMillis(); NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); Notification notification = new Notification(icon, message, when); String title = context.getString(R.string.app_name); Intent notificationIntent = new Intent(context, LauncherActivity.class); PendingIntent pintent = PendingIntent.getActivity(context, 0, intent, Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); notification.setLatestEventInfo(context, title, message, intent); notification.flags |= Notification.FLAG_AUTO_CANCEL; notification.defaults |= Notification.DEFAULT_SOUND; notification.defaults |= Notification.DEFAULT_VIBRATE; notificationManager.notify(1, notification); } ```

Original source