package com.ved.musicmapapp.receiver; import java.util.List; import com.ved.musicmapapp.MainActivity; import android.app.ActivityManager; import android.app.ActivityManager.RunningTaskInfo; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Message; import android.os.Messenger; import android.os.RemoteException; public class NotificationBroadcastReceiver extends BroadcastReceiver { private Messenger messenger = null; @Override public void onReceive(Context context, Intent intent) { String fbId = intent.getStringExtra("FOLLOW_FBID"); if (fbId != null && fbId.length() > 0) { if (!isRunning(context)) { Intent notificationIntent = new Intent(context, MainActivity.class); notificationIntent.putExtra("FOLLOW_FBID", fbId); notificationIntent .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(notificationIntent); } else { if (messenger != null) { Message message = new Message(); message.what = 2; Bundle data = new Bundle(); data.putString("FOLLOW_FBID", fbId); message.setData(data); try { messenger.send(message); } catch (RemoteException e) { e.printStackTrace(); } } } } } public void setMessenger(Messenger messenger) { this.messenger = messenger; } public boolean isRunning(Context context) { ActivityManager activityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> tasks = activityManager .getRunningTasks(Integer.MAX_VALUE); for (RunningTaskInfo task : tasks) { if (context.getPackageName().equalsIgnoreCase( task.baseActivity.getPackageName())) return true; } return false; } }