android — Показывать диалог с сенсорными событиями через экран блокировки в Android 2.3" />

Показывать диалог с сенсорными событиями через экран блокировки в Android 2.3

Я хочу создать диалог, который будет виден на экране блокировки и может принимать сенсорные события. Я построил окно с WindowManager, но только с TYPE_SYSTEM_OVERLAY Флаг отображается на экране блокировки в ГБ (Android 2.3.7).

Есть ли способ создать системный оверлей, который будет виден на экране блокировки и может получать сенсорные события в Android 2.3.7?

Произошла ошибка с FLAG_WATCH_OUTSIDE_TOUCH, но я не уверен, как это повлияет на меня. Есть идеи?

7 голосов | спросил Cilenco 23 J0000006Europe/Moscow 2013, 17:01:39

2 ответа


0

Я не думаю, что вы можете запускать действия каждый раз, когда устройство заблокировано, без привязки вашего приложения как приложения, привилегированного администратором, программно.

Если ваше приложение является приложением, привилегированным администратором, вы можете программно установить пароль и пароль; заблокировать экран & затем программно разблокируйте его с помощью диспетчера политики устройств .

В верхней части экрана блокировки вы можете программно запускать свои собственные действия & Вы можете создать свой собственный unlocker & разблокируйте устройство с помощью этого действия, так как вы можете получать обратные вызовы через DeviceAdminReceiver .

Здесь - хороший пример этого & все, что вам нужно, это создать свою собственную активность после того, как вы вызвали DevicePolicyManager.lockNow (). Затем он появится в верхней части экрана блокировки как обычная активность плюс дополнительный контроль над собственным экраном блокировки.

ответил M P Mathugama 2 J000000Tuesday13 2013, 16:23:10
0

Попробуйте, это может вам помочь,

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.alertdialog);

А также, Android немного противоречит. Он очень открыт, и как разработчик у вас есть доступ ко всему, и вы сами можете использовать эти силы для добра или зла. Когда я говорю зло, я не имею в виду вредоносное ПО. Я имею в виду приложения, которые пытаются выглядеть симпатично и использовать вещи так, как они не предназначены для использования, например, отправлять уведомления с просьбой больше использовать приложение. Противоречие в том, что на самом деле у вас нет доступа ко всему, есть несколько частей, которые, по мнению разработчиков, настолько важны, что приложение не может связываться с ними. Экран блокировки является одной из тех частей. Вы можете заменить свое домашнее приложение так, как вам хочется, но вам никогда не придется беспокоиться о том, что ваш экран блокировки замены не работает и не дает вам доступа к телефону.

Даже если бы это было возможно, у вас было бы больше проблем. Каждый экран блокировки индивидуален, производители могут и действительно настраивают его, чтобы у вас не было никаких гарантий, что ваша деятельность не помешает разблокировке телефона.

Для прикосновения за пределами вашего диалога,

dialog.setCanceledOnTouchOutside(your boolean);
ответил No_Rulz 1 J000000Monday13 2013, 12:44:45

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132