У меня есть кнопка совместного доступа в 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, он не разблокирует мой экран
Я попытался с 2-й вариант, чтобы разблокировать экран, но это не работает для меня. Пожалуйста, проверьте мой обновленный вопрос на изменения, которые я сделал для разблокировки экрана. –
Вы пробовали с первым вариантом? Проверьте это – Kartheek
Я не могу использовать активность. Если активна деятельность, она будет помещена поверх активности моего приложения. Я хочу разблокировать экран без использования контекста активности. –