Example usage for android.content Intent FLAG_ACTIVITY_CLEAR_TASK

List of usage examples for android.content Intent FLAG_ACTIVITY_CLEAR_TASK

Introduction

In this page you can find the example usage for android.content Intent FLAG_ACTIVITY_CLEAR_TASK.

Prototype

int FLAG_ACTIVITY_CLEAR_TASK

To view the source code for android.content Intent FLAG_ACTIVITY_CLEAR_TASK.

Click Source Link

Document

If set in an Intent passed to Context#startActivity Context.startActivity() , this flag will cause any existing task that would be associated with the activity to be cleared before the activity is started.

Usage

From source file:cn.ucai.superwechat.ui.MainActivity.java

/**
 * show the dialog when user met some exception: such as login on another device, user removed or user forbidden
 *//*from  w  ww.  j a  va2s  .  c  o  m*/
private void showExceptionDialog(String exceptionType) {
    isExceptionDialogShow = true;
    SuperWeChatDemoHelper.getInstance().logout(false, null);
    String st = getResources().getString(R.string.Logoff_notification);
    if (!MainActivity.this.isFinishing()) {
        // clear up global variables
        try {
            if (exceptionBuilder == null)
                exceptionBuilder = new AlertDialog.Builder(MainActivity.this);
            exceptionBuilder.setTitle(st);
            exceptionBuilder.setMessage(getExceptionMessageId(exceptionType));
            exceptionBuilder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                    exceptionBuilder = null;
                    isExceptionDialogShow = false;
                    finish();
                    Intent intent = new Intent(MainActivity.this, LoginActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(intent);
                }
            });
            exceptionBuilder.setCancelable(false);
            exceptionBuilder.create().show();
            isConflict = true;
        } catch (Exception e) {
            EMLog.e(TAG, "---------color conflictBuilder error" + e.getMessage());
        }
    }
}

From source file:com.waz.zclient.MainActivity.java

@Override
public void onLogout() {
    Timber.i("onLogout");
    getStoreFactory().reset();/* ww w. j a v a  2 s  . c  o m*/
    getControllerFactory().getPickUserController().hideUserProfile();
    getControllerFactory().getUserPreferencesController().reset();
    getControllerFactory().getSpotifyController().logout();
    getStoreFactory().getConversationStore().onLogout();
    getControllerFactory().getNavigationController().resetPagerPositionToDefault();

    Intent intent = new Intent(this, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    finish();
    startActivity(intent);
}

From source file:com.miz.mizuu.fragments.TvShowEpisodeDetailsFragment.java

private void deleteEpisode() {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

    View dialogLayout = getActivity().getLayoutInflater().inflate(R.layout.delete_file_dialog_layout, null);
    final CheckBox cb = (CheckBox) dialogLayout.findViewById(R.id.deleteFile);
    cb.setChecked(/*  w w  w .  ja  v a  2 s . c  o m*/
            PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean(ALWAYS_DELETE_FILE, true));

    builder.setTitle(
            getString(R.string.removeEpisode) + " S" + mEpisode.getSeason() + "E" + mEpisode.getEpisode())
            .setView(dialogLayout).setCancelable(false)
            .setPositiveButton(getString(android.R.string.yes), new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    TvShowDatabaseUtils.deleteEpisode(mContext, mEpisode.getShowId(),
                            MizLib.getInteger(mEpisode.getSeason()), MizLib.getInteger(mEpisode.getEpisode()));

                    if (cb.isChecked()) {
                        for (Filepath path : mEpisode.getFilepaths()) {
                            Intent deleteIntent = new Intent(getActivity(), DeleteFile.class);
                            deleteIntent.putExtra("filepath", path.getFilepath());
                            getActivity().startService(deleteIntent);
                        }
                    }

                    if (MizuuApplication.getTvEpisodeDbAdapter().getEpisodeCount(mEpisode.getShowId()) == 0) {
                        // The show has been deleted! Let's show the TV show library overview

                        Intent i = new Intent(mContext, Main.class);
                        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                        i.putExtra("startup", String.valueOf(Main.SHOWS));
                        startActivity(i);
                    } else {
                        LocalBroadcastUtils.updateTvShowSeasonsOverview(mContext);
                        LocalBroadcastUtils.updateTvShowEpisodesOverview(mContext);
                    }

                    notifyDatasetChanges();
                    getActivity().finish();
                }
            }).setNegativeButton(getString(android.R.string.no), new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                }
            }).show();
}

From source file:co.carlosandresjimenez.android.gotit.BaseActivity.java

public void openRegistrationScreen() {
    Intent intent = new Intent(BaseActivity.this, RegistrationActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(intent);//  www  . j a  va2  s . com
    finish();
}

From source file:co.carlosandresjimenez.android.gotit.BaseActivity.java

public void openMainScreen() {
    String userType = Utility.getUserType(this);

    Intent intent;//w  w w.  ja  v  a2s . c  om
    if (userType.equals(getString(R.string.user_type_follower)))
        intent = new Intent(BaseActivity.this, DataFeedActivity.class);
    else
        intent = new Intent(BaseActivity.this, CheckInListActivity.class);

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(intent);
    finish();

}

From source file:com.googlecode.mindbell.accessors.ContextAccessor.java

/**
 * Send an intent to MindBellMain to finally stop meditation (change status, stop countdown) automatically instead of
 * pressing the stop meditation button manually.
 *//*from  w  w w.ja  v a  2s. co m*/
public void stopMeditation() {
    Log.d(TAG, "Starting activity MindBellMain to stop meditation");
    Intent intent = new Intent(context, MindBellMain.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK // context may be service context only, not an activity context
            | Intent.FLAG_ACTIVITY_CLEAR_TASK); // MindBellMain becomes the new root to let back button return to other apps
    intent.putExtra(PrefsAccessor.EXTRA_STOP_MEDITATION, true);
    context.startActivity(intent);
}

From source file:com.googlecode.mindbell.accessors.ContextAccessor.java

/**
 * Shows bell by starting activity MindBell
 *///  w w w.j a v a 2s .  com
public void showBell() {
    Log.d(TAG, "Starting activity MindBell to show bell");
    Intent intent = new Intent(context, MindBell.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK // context may be service context only, not an activity context
            | Intent.FLAG_ACTIVITY_CLEAR_TASK); // MindBell becomes the new root to let back button return to other apps
    context.startActivity(intent);
}

From source file:com.example.mego.adas.main.MainActivity.java

/**
 * Method to get the current phone verification state
 *//*from   www  . j  a v a  2 s  . c  om*/
private void getPhoneVerificationState() {
    isPhoneAuthValueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists()) {
                isPhoneVerified = dataSnapshot.getValue(Boolean.class);
                if (!isPhoneVerified) {
                    hideProgressDialog();
                    Intent mainIntent = new Intent(MainActivity.this, VerifyPhoneNumberActivity.class);
                    //clear the application stack (clear all  former the activities)
                    mainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    startActivity(mainIntent);
                    finish();
                }
            } else {
                hideProgressDialog();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    };
    isPhoneAuthDatabaseReference.addValueEventListener(isPhoneAuthValueEventListener);
}

From source file:com.wso2.mobile.mdm.services.Operation.java

@SuppressWarnings("static-access")
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void doTask(String code_in, String data_in, int req_mode) {
    String code_input = code_in;/*  w  w  w . j  a  v  a 2s.  c o  m*/
    String data_input = data_in;
    String notification = "";
    String ssid = "";
    String password = "";

    devicePolicyManager = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
    appList = new ApplicationManager(context);
    deviceInfo = new DeviceInfo(context);
    gps = new GPSTracker(context);
    smsManager = SmsManager.getDefault();
    conversations = new TrackCallSMS(context);
    deviceState = new PhoneState(context);
    if (code_input.equals(CommonUtilities.OPERATION_DEVICE_INFO)) {

        PhoneState phoneState = new PhoneState(context);
        JSONObject obj = new JSONObject();
        JSONObject battery_obj = new JSONObject();
        JSONObject inmemory_obj = new JSONObject();
        JSONObject exmemory_obj = new JSONObject();
        JSONObject location_obj = new JSONObject();
        double latitude = 0;
        double longitude = 0;
        try {
            latitude = gps.getLatitude();
            longitude = gps.getLongitude();
            int batteryLevel = (int) Math.floor(phoneState.getBatteryLevel());
            battery_obj.put("level", batteryLevel);

            inmemory_obj.put("total", deviceInfo.getTotalInternalMemorySize());
            inmemory_obj.put("available", deviceInfo.getAvailableInternalMemorySize());
            exmemory_obj.put("total", deviceInfo.getTotalExternalMemorySize());
            exmemory_obj.put("available", deviceInfo.getAvailableExternalMemorySize());
            location_obj.put("latitude", latitude);
            location_obj.put("longitude", longitude);

            obj.put("battery", battery_obj);
            obj.put("internal_memory", inmemory_obj);
            obj.put("external_memory", exmemory_obj);
            obj.put("location_obj", location_obj);
            obj.put("operator", deviceInfo.getNetworkOperatorName());

            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", obj.toString());
            Map<String, String> as = new HashMap<String, String>();
            as.put("all", params.toString());

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null,
                        "Battery Level : " + phoneState.getBatteryLevel() + ", Total Memory : "
                                + deviceInfo.formatSizeGB(deviceInfo.getTotalInternalMemorySize()
                                        + deviceInfo.getTotalExternalMemorySize())
                                + ", Available Memory : "
                                + deviceInfo.formatSizeGB(deviceInfo.getAvailableInternalMemorySize()
                                        + deviceInfo.getAvailableExternalMemorySize()),
                        null, null);
            }

        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_DEVICE_LOCATION)) {

        LocationServices ls = new LocationServices(context);
        Log.v("Latitude", ls.getLatitude());
        double latitude = 0;
        double longitude = 0;
        JSONObject obj = new JSONObject();
        try {
            latitude = gps.getLatitude();
            longitude = gps.getLongitude();
            obj.put("latitude", latitude);
            obj.put("longitude", longitude);

            Map<String, String> params = new HashMap<String, String>();
            params.put("code", CommonUtilities.OPERATION_DEVICE_LOCATION);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", obj.toString());
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null,
                        "Longitude : " + longitude + ",Latitude : " + latitude, null, null);
            }
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_GET_APPLICATION_LIST)) {
        ArrayList<PInfo> apps = appList.getInstalledApps(false); /*
                                                                 * false =
                                                                 * no system
                                                                 * packages
                                                                 */

        JSONArray jsonArray = new JSONArray();
        int max = apps.size();

        String apz = "";
        Log.e("APP TOTAL : ", "" + max);
        for (int i = 0; i < max; i++) {
            JSONObject jsonObj = new JSONObject();
            try {
                jsonObj.put("name", apps.get(i).appname);
                jsonObj.put("package", apps.get(i).pname);
                jsonObj.put("icon", apps.get(i).icon);
                apz += apps.get(i).appname + " ,";
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            jsonArray.put(jsonObj);
        }

        JSONObject appsObj = new JSONObject();
        try {
            appsObj.put("apps", jsonArray);

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_GET_APPLICATION_LIST);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", Uri.encode(jsonArray.toString()));
            Log.e("PASSING MSG ID : ", token);
            Log.e("PASSING CODE : ", code_input);
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, apz, null, null);
            }
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_LOCK_DEVICE)) {

        Log.d(TAG, "Locking device now");
        try {
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Device Locked Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());

            }
            devicePolicyManager.lockNow();

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_WIPE_DATA)) {

        Log.d(TAG, "RESETing device now - all user data will be ERASED to factory settings");
        String pin = null;
        SharedPreferences mainPref = context.getSharedPreferences("com.mdm", Context.MODE_PRIVATE);
        String pinSaved = mainPref.getString("pin", "");

        try {
            JSONObject jobj = new JSONObject(data_input);
            pin = (String) jobj.get("pin");
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);

            if (pin.trim().equals(pinSaved.trim())) {
                params.put("status", "200");
            } else {
                params.put("status", "400");
            }

            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                if (pin.trim().equals(pinSaved.trim())) {
                    smsManager.sendTextMessage(recepient, null, "Device Wiped Successfully", null, null);
                } else {
                    smsManager.sendTextMessage(recepient, null, "Wrong PIN", null, null);
                }
            }
            if (pin.trim().equals(pinSaved.trim())) {
                Toast.makeText(context, "Device is being wiped", Toast.LENGTH_LONG).show();
                startUnRegistration(context);
                try {
                    Thread.sleep(4000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                devicePolicyManager.wipeData(ACTIVATION_REQUEST);
            } else {
                Toast.makeText(context, "Device wipe failed due to wrong PIN", Toast.LENGTH_LONG).show();
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_CLEAR_PASSWORD)) {
        ComponentName demoDeviceAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class);

        try {
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Lock code cleared Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }
            devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                    DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
            devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, 0);
            devicePolicyManager.resetPassword("", DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);
            devicePolicyManager.lockNow();
            devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                    DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_NOTIFICATION)) {

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (jobj.get("notification").toString() != null || jobj.get("notification").toString().equals("")) {
                notification = jobj.get("notification").toString();
            } else if (jobj.get("Notification").toString() != null
                    || jobj.get("Notification").toString().equals("")) {
                notification = jobj.get("Notification").toString();
            } else {
                notification = "";
            }

            Log.v("Notification", notification);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Notification Receieved Successfully", null, null);
            }

            Intent intent = new Intent(context, AlertActivity.class);
            intent.putExtra("message", notification);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP
                    | Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_WIFI)) {
        boolean wifistatus = false;

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("ssid")) {
                ssid = (String) jobj.get("ssid");
            }
            if (!jobj.isNull("password")) {
                password = (String) jobj.get("password");
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Map<String, String> inparams = new HashMap<String, String>();
        inparams.put("code", code_input);
        inparams.put("msgID", token);
        WiFiConfig config = new WiFiConfig(context);
        try {
            wifistatus = config.saveWEPConfig(ssid, password);
            if (wifistatus) {
                inparams.put("status", "200");
            } else {
                inparams.put("status", "400");
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    ServerUtilities.pushData(inparams, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "WiFi Configured Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, inparams.toString());
            }
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_DISABLE_CAMERA)) {

        boolean camFunc = false;
        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("function") && jobj.get("function").toString().equalsIgnoreCase("enable")) {
                camFunc = false;
            } else if (!jobj.isNull("function")
                    && jobj.get("function").toString().equalsIgnoreCase("disable")) {
                camFunc = true;
            } else if (!jobj.isNull("function")) {
                camFunc = Boolean.parseBoolean(jobj.get("function").toString());
            }

            ComponentName cameraAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            String cammode = "Disabled";
            if (camFunc) {
                cammode = "Disabled";
            } else {
                cammode = "Enabled";
            }

            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Camera " + cammode + " Successfully", null,
                            null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }

            if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                devicePolicyManager.setCameraDisabled(cameraAdmin, camFunc);
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION)
            || code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION_BUNDLE)) {

        try {
            if (code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION)) {
                JSONObject jobj = new JSONObject(data_input);
                installApplication(jobj, code_input);
            } else if (code_input.equals(CommonUtilities.OPERATION_INSTALL_APPLICATION_BUNDLE)) {
                JSONArray jArray = null;
                jArray = new JSONArray(data_input);
                for (int i = 0; i < jArray.length(); i++) {
                    JSONObject appObj = (JSONObject) jArray.getJSONObject(i);
                    installApplication(appObj, code_input);
                }
            }

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_UNINSTALL_APPLICATION)) {

        String packageName = "";
        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            packageName = (String) jobj.get("identity");

            Log.v("Package Name : ", packageName);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Application uninstalled Successfully", null, null);
            }
            appList.unInstallApplication(packageName);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_ENCRYPT_STORAGE)) {
        boolean encryptFunc = true;
        String pass = "";

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("function") && jobj.get("function").toString().equalsIgnoreCase("encrypt")) {
                encryptFunc = true;
            } else if (!jobj.isNull("function")
                    && jobj.get("function").toString().equalsIgnoreCase("decrypt")) {
                encryptFunc = false;
            } else if (!jobj.isNull("function")) {
                encryptFunc = Boolean.parseBoolean(jobj.get("function").toString());
            }

            ComponentName admin = new ComponentName(context, WSO2DeviceAdminReceiver.class);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);

            if (encryptFunc && devicePolicyManager
                    .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
                if (devicePolicyManager
                        .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_INACTIVE) {
                    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                        devicePolicyManager.setStorageEncryption(admin, encryptFunc);
                        Intent intent = new Intent(DevicePolicyManager.ACTION_START_ENCRYPTION);
                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        context.startActivity(intent);
                    }
                }
            } else if (!encryptFunc && devicePolicyManager
                    .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
                if (devicePolicyManager
                        .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVE
                        || devicePolicyManager
                                .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVATING) {
                    if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
                        devicePolicyManager.setStorageEncryption(admin, encryptFunc);
                    }
                }
            }

            if (devicePolicyManager
                    .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
                params.put("status", "200");
            } else {
                params.put("status", "400");
            }
            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Storage Encrypted Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_MUTE)) {

        Log.d(TAG, "Muting Device");
        try {
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");

            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, "Device Muted Successfully", null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }

            muteDevice();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_TRACK_CALLS)) {
        try {
            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_TRACK_CALLS);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", conversations.getCallDetails().toString());
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, conversations.getCallDetails().toString(), null,
                        null);
            }
        } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_TRACK_SMS)) {
        int MESSAGE_TYPE_INBOX = 1;
        int MESSAGE_TYPE_SENT = 2;
        JSONObject smsObj = new JSONObject();

        try {
            smsObj.put("inbox", conversations.getSMS(MESSAGE_TYPE_INBOX));
            smsObj.put("sent", conversations.getSMS(MESSAGE_TYPE_SENT));

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_TRACK_SMS);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", smsObj.toString());
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, smsObj.toString(), null, null);
            }
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_DATA_USAGE)) {
        JSONObject dataObj = new JSONObject();

        try {

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_DATA_USAGE);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", deviceState.takeDataUsageSnapShot().toString());
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, dataObj.toString(), null, null);
            }
        } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_STATUS)) {
        boolean encryptStatus = false;
        boolean passCodeStatus = false;
        try {
            if (devicePolicyManager
                    .getStorageEncryptionStatus() != devicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
                if (devicePolicyManager
                        .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVE
                        || devicePolicyManager
                                .getStorageEncryptionStatus() == devicePolicyManager.ENCRYPTION_STATUS_ACTIVATING) {
                    encryptStatus = true;
                } else {
                    encryptStatus = false;
                }
            }
            if (devicePolicyManager.isActivePasswordSufficient()) {
                passCodeStatus = true;
            } else {
                passCodeStatus = false;
            }
        } catch (Exception ex) {
            ex.printStackTrace();
            passCodeStatus = false;
        }
        JSONObject dataObj = new JSONObject();

        try {
            dataObj.put("encryption", encryptStatus);
            dataObj.put("passcode", passCodeStatus);

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", dataObj.toString());

            if (req_mode == REQUEST_MODE_NORMAL) {
                if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                    ServerUtilities.pushData(params, context);
                } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                    smsManager.sendTextMessage(recepient, null, dataObj.toString(), null, null);
                }
            } else {
                if (policy_count != 0) {
                    policy_count++;
                }
                bundle_params.put("" + policy_count, params.toString());
            }
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_WEBCLIP)) {
        String appUrl = "";
        String title = "";

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            Log.v("WEBCLIP DATA : ", data.toString());
            appUrl = (String) jobj.get("identity");
            title = (String) jobj.get("title");
            Log.v("Web App URL : ", appUrl);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "WebClip created Successfully", null, null);
            }
            appList.createWebAppBookmark(appUrl, title);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_PASSWORD_POLICY)) {
        ComponentName demoDeviceAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class);

        int attempts, length, history, specialChars;
        String alphanumeric, complex;
        boolean b_alphanumeric, b_complex;
        long timout;
        Map<String, String> inparams = new HashMap<String, String>();

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("maxFailedAttempts") && jobj.get("maxFailedAttempts") != null) {
                attempts = Integer.parseInt((String) jobj.get("maxFailedAttempts"));
                devicePolicyManager.setMaximumFailedPasswordsForWipe(demoDeviceAdmin, attempts);
            }

            if (!jobj.isNull("minLength") && jobj.get("minLength") != null) {
                length = Integer.parseInt((String) jobj.get("minLength"));
                devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, length);
            }

            if (!jobj.isNull("pinHistory") && jobj.get("pinHistory") != null) {
                history = Integer.parseInt((String) jobj.get("pinHistory"));
                devicePolicyManager.setPasswordHistoryLength(demoDeviceAdmin, history);
            }

            if (!jobj.isNull("minComplexChars") && jobj.get("minComplexChars") != null) {
                specialChars = Integer.parseInt((String) jobj.get("minComplexChars"));
                devicePolicyManager.setPasswordMinimumSymbols(demoDeviceAdmin, specialChars);
            }

            if (!jobj.isNull("requireAlphanumeric") && jobj.get("requireAlphanumeric") != null) {
                if (jobj.get("requireAlphanumeric") instanceof String) {
                    alphanumeric = (String) jobj.get("requireAlphanumeric");
                    if (alphanumeric.equals("true")) {
                        devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                                DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC);
                    }
                } else if (jobj.get("requireAlphanumeric") instanceof Boolean) {
                    b_alphanumeric = jobj.getBoolean("requireAlphanumeric");
                    if (b_alphanumeric) {
                        devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                                DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC);
                    }
                }
            }

            if (!jobj.isNull("allowSimple") && jobj.get("allowSimple") != null) {
                if (jobj.get("allowSimple") instanceof String) {
                    complex = (String) jobj.get("allowSimple");
                    if (!complex.equals("true")) {
                        devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                                DevicePolicyManager.PASSWORD_QUALITY_COMPLEX);
                    }
                } else if (jobj.get("allowSimple") instanceof Boolean) {
                    b_complex = jobj.getBoolean("allowSimple");
                    if (!b_complex) {
                        devicePolicyManager.setPasswordQuality(demoDeviceAdmin,
                                DevicePolicyManager.PASSWORD_QUALITY_COMPLEX);
                    }
                }
            }

            if (!jobj.isNull("maxPINAgeInDays") && jobj.get("maxPINAgeInDays") != null) {
                int daysOfExp = Integer.parseInt((String) jobj.get("maxPINAgeInDays"));
                timout = (long) (daysOfExp * 24 * 60 * 60 * 1000);
                devicePolicyManager.setPasswordExpirationTimeout(demoDeviceAdmin, timout);
            }

            SharedPreferences mainPref = context.getSharedPreferences("com.mdm", Context.MODE_PRIVATE);
            String policy = mainPref.getString("policy", "");

            inparams.put("code", code_input);
            inparams.put("msgID", token);
            inparams.put("status", "200");

        } catch (Exception e) {
            // TODO Auto-generated catch block
            params.put("status", "400");
            e.printStackTrace();
        } finally {
            try {
                if (req_mode == REQUEST_MODE_NORMAL) {
                    if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                        ServerUtilities.pushData(inparams, context);
                    } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                        smsManager.sendTextMessage(recepient, null, "Password Policies Successfully Set", null,
                                null);
                    }
                } else {
                    if (policy_count != 0) {
                        policy_count++;
                    }
                    bundle_params.put("" + policy_count, inparams.toString());
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_EMAIL_CONFIGURATION)) {
        String emailname = "", emailtype = "", ic_username = "", ic_password = "", ic_hostname = "";
        long timout;
        Map<String, String> inparams = new HashMap<String, String>();

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("type") && jobj.get("type") != null) {
                emailtype = (String) jobj.get("type");
            }

            if (!jobj.isNull("displayname") && jobj.get("displayname") != null) {
                emailname = (String) jobj.get("displayname");
            }

            if (!jobj.isNull("username") && jobj.get("username") != null) {
                ic_username = (String) jobj.get("username");
            }

            if (!jobj.isNull("password") && jobj.get("password") != null) {
                ic_password = (String) jobj.get("password");
            }

            if (emailtype.trim().equals("GMAIL")) {
                ic_hostname = "imap.googlemail.com";
            } else if (emailtype.equals("YAHOO")) {
                ic_hostname = "";
            } else if (emailtype.equals("HOTMAIL")) {
                ic_hostname = "";
            }

            inparams.put("code", code_input);
            inparams.put("msgID", token);
            inparams.put("status", "200");

        } catch (Exception e) {
            // TODO Auto-generated catch block
            params.put("status", "400");
            e.printStackTrace();
        } finally {
            try {
                if (req_mode == REQUEST_MODE_NORMAL) {
                    if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                        ServerUtilities.pushData(inparams, context);
                    } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                        smsManager.sendTextMessage(recepient, null, "Email Configured Successfully Set", null,
                                null);
                    }
                } else {
                    if (policy_count != 0) {
                        policy_count++;
                    }
                    bundle_params.put("" + policy_count, inparams.toString());
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_INSTALL_GOOGLE_APP)) {

        String packageName = "";
        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            packageName = (String) jobj.get("package");

            Log.v("Package Name : ", packageName);
            Map<String, String> params = new HashMap<String, String>();
            params.put("code", code_input);
            params.put("msgID", token);
            params.put("status", "200");
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Application installed Successfully", null, null);
            }
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setData(Uri.parse("market://details?id=" + packageName));
            context.startActivity(intent);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_CHANGE_LOCK_CODE)) {
        ComponentName demoDeviceAdmin = new ComponentName(context, WSO2DeviceAdminReceiver.class);
        devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, 3);
        String pass = "";
        Map<String, String> inparams = new HashMap<String, String>();

        JSONParser jp = new JSONParser();
        try {
            JSONObject jobj = new JSONObject(data_input);
            if (!jobj.isNull("password")) {
                pass = (String) jobj.get("password");
            }

            inparams.put("code", code_input);
            inparams.put("msgID", token);
            inparams.put("status", "200");
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(inparams, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Lock code changed Successfully", null, null);
            }

            if (!pass.equals("")) {
                devicePolicyManager.resetPassword(pass, DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);
                devicePolicyManager.lockNow();
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                if (req_mode == REQUEST_MODE_NORMAL) {
                    if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                        ServerUtilities.pushData(inparams, context);
                    } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                        smsManager.sendTextMessage(recepient, null, "Lock code changed Successfully", null,
                                null);
                    }
                } else {
                    if (policy_count != 0) {
                        policy_count++;
                    }
                    bundle_params.put("" + policy_count, inparams.toString());
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }

    } else if (code_input.equals(CommonUtilities.OPERATION_POLICY_BUNDLE)) {
        Map<String, String> params = new HashMap<String, String>();
        try {
            params.put("code", code);
            params.put("msgID", policy_token);
            params.put("status", "200");
            params.put("data", bundle_params.toString());
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Bundle Executed Successfully", null, null);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_POLICY_MONITOR)) {
        JSONArray sendjArray;
        try {
            JSONObject jobj = new JSONObject(this.data);

            sendjArray = jobj.getJSONArray("policies");

            int type = Integer.parseInt((String) jobj.get("type").toString().trim());

            if (type != 1 && type != 2 && type != 3) {
                type = 1;
            }

            Log.e("PASSING MSG ID : ", policy_token);
            Log.e("PASSING CODE : ", code_input);
            Log.e("PASSING TYPE : ", String.valueOf(type));
            PolicyTester tester = new PolicyTester(context, sendjArray, type, policy_token);
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_POLICY_REVOKE)) {
        try {
            Map<String, String> inparams = new HashMap<String, String>();

            inparams.put("code", code_input);
            inparams.put("msgID", token);
            inparams.put("status", "200");
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(inparams, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, "Lock code changed Successfully", null, null);
            }
            revokePolicy();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else if (code_input.equals(CommonUtilities.OPERATION_BLACKLIST_APPS)) {
        ArrayList<PInfo> apps = appList.getInstalledApps(false); /*
                                                                 * false =
                                                                 * no system
                                                                 * packages
                                                                 */

        JSONArray jsonArray = new JSONArray();
        int max = apps.size();
        if (max > 10) {
            //max = 10;
        }
        String apz = "";

        try {

            JSONObject appsObj = new JSONObject(data_input);
            JSONObject appObj = (JSONObject) appsObj.get("data");
            String identity = (String) appObj.get("identity");

            for (int j = 0; j < max; j++) {
                JSONObject jsonObj = new JSONObject();
                try {
                    jsonObj.put("name", apps.get(j).appname);
                    jsonObj.put("package", apps.get(j).pname);
                    if (identity.trim().equals(apps.get(j).pname)) {
                        jsonObj.put("notviolated", false);
                        jsonObj.put("package", apps.get(j).pname);
                    } else {
                        jsonObj.put("notviolated", true);
                    }

                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                jsonArray.put(jsonObj);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

        JSONObject appsObj = new JSONObject();
        try {
            appsObj.put("apps", jsonArray);

            Map<String, String> params = new HashMap<String, String>();

            params.put("code", CommonUtilities.OPERATION_GET_APPLICATION_LIST);
            params.put("msgID", token);
            params.put("status", "200");
            params.put("data", jsonArray.toString());
            if (mode == CommonUtilities.MESSAGE_MODE_GCM) {
                ServerUtilities.pushData(params, context);
            } else if (mode == CommonUtilities.MESSAGE_MODE_SMS) {
                smsManager.sendTextMessage(recepient, null, apz, null, null);
            }
            SharedPreferences mainPref = context.getSharedPreferences("com.mdm", Context.MODE_PRIVATE);
            String policy = mainPref.getString("policy", "");
            if (policy != null && policy != "") {
                if (apz != null || !apz.trim().equals("")) {

                }
            }
        } catch (JSONException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

    }
}

From source file:org.wso2.emm.agent.services.operationMgt.OperationManager.java

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public void enableHardLock(String message) {
    if (isDeviceOwner()) {
        devicePolicyManager.setLockTaskPackages(cdmDeviceAdmin, AUTHORIZED_PINNING_APPS);
        Intent intent = new Intent(context, LockActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP
                | Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.putExtra(Constants.ADMIN_MESSAGE, message);
        intent.putExtra(Constants.IS_LOCKED, true);
        context.startActivity(intent);/*from w  w w.j  av  a2  s  .  c  om*/
    } else {
        devicePolicyManager.lockNow();
    }
}