package rocks.susurrus.susurrus.receivers; import android.app.Activity; import android.app.NotificationManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; import rocks.susurrus.susurrus.MainActivity; import rocks.susurrus.susurrus.services.MasterService; import rocks.susurrus.susurrus.services.WifiDirectService; public class ShutdownReceiver extends BroadcastReceiver { static final String LOG_TAG = "ShutdownReceiver"; /** * Constans */ public static final String SHUTDOWN_BROADCAST = "rocks.susurrus.susurrus.receivers.ShutdownReceiver.SHUTDOWN"; /** * Data */ private NotificationManager notificationManager; /** * Class Constructor. * @param notificationManager Android NotificationManager */ public ShutdownReceiver(NotificationManager notificationManager) { this.notificationManager = notificationManager; } @Override /** * Is called whenever a broadcast message is received by the Receiver. */ public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if(action.equals(ShutdownReceiver.SHUTDOWN_BROADCAST)) { Log.d(LOG_TAG, "Closing app ..."); // cancel the notification this.notificationManager.cancel(MasterService.NOTIFICATION_ID); // call the MainActivity which will finish the app Intent shutdownIntent = new Intent(context, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("EXIT", true); context.startActivity(shutdownIntent); } } }