Разблокировать экран программно

У меня есть кнопка «Поделиться» в GCM notification. При нажатии на кнопку поделиться, мне нужно запустить намерение поделиться. Все работает отлично. Единственная проблема, с которой я сталкиваюсь, это Lollipop функция блокировки экрана. Когда я нажимаю кнопку «Поделиться» на экране блокировки, мое диалоговое окно намерений появляется под экраном блокировки, и пользователь должен разблокировать экран, чтобы увидеть диалоговое окно. Я хочу разблокировать экран программно, когда нажата кнопка «Поделиться».

Я пытался с Power Manager, но все его wakeClock флаги устарели, и WindowManager.LayoutParams.Flag_KEEP_SCREEN_ON рекомендуется использовать. Но я не использую активность здесь. Я использую broadcastReciever context. и поэтому я не могу использовать метод getWindow().

Я также пытался с KeyguardManager. Но даже disableKeyguard() не рекомендуется.

Я не могу использовать Intent.ACTION_SCREEN_ON, так как это следует использовать, если мы хотим выполнить какое-либо действие после разблокировки экрана.

Я использовал ниже намерение программно закрыть панель уведомлений:

Intent it = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        mContext.sendBroadcast(it);

Есть ли подобное намерение, которое можно транслировать для разблокировки экрана

Обновленный код с использованием DevicePolicyManager:

public static void handleShareBtnClick(Context context, String message) {
    GcmHelper helper = new GcmHelper();
    helper.shareMessage(context, message);
    if(Utility.isLollypopAndAbove()){
          helper.unlockLockScreen();
    }
    helper.launchShareforForAlert();

}



   public void unlockLockScreen(){
        DevicePolicyManager devicePolicyMngr= (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
        ComponentName compName=new ComponentName(mContext, DeviceAdminReceiver.class);
        if(!devicePolicyMngr.isAdminActive(compName))
            devicePolicyMngr.removeActiveAdmin(compName);
    }

Даже после использования DevicePolicyManager он не разблокирует мой экран

10
задан Sangeetha Pinto 29 June 2015 в 04:53
поделиться