I am creating sdk(single jar file) for GCM.
How do you save data in a jar file?
I am setting activity class to be started when user press the notification, but by the time intent service is called, activity class that I set in start up activity is not defined.
CustomIntentService.java
public class CustomIntentService extends GCMBaseIntentService {
@Override
protected void onMessage(Context context, Intent intent) {
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.id.icon, message, when);
Intent notificationIntent = new Intent(context, PushManager.getActivity());
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, title, message, intent);
notificationManager.notify(0, notification);
}
}
PushManager.java
public final class PushManager {
private Activity startupActivity;
public void setActivity(Activity activity) {
startupActivity = activity;
}
public Activity getActivity() {
return startupActivity;
}
}
MainActivity.java
PushManager.setActivity(this);
Solved this using preferences.