Android Блокировка Экрана Виджет


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

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

любые подсказки о том, где я узнаю больше о создании истинных виджетов блокировки экрана?

3 70

3 ответа:

Блокировка экрана взаимодействие трудно. Android позволяет основные операции с двумя флагами окна (FLAG_SHOW_WHEN_LOCKED и FLAG_DISMISS_KEYGUARD). FLAG_SHOW_WHEN_LOCKED работает довольно последовательно в том, что он будет отображаться в верхней части экрана блокировки, даже если безопасность включена (безопасность не обходится, вы не можете переключиться на другое окно без FLAG_SHOW_WHEN_LOCKED).

Если вы просто делаете что-то временное, например, когда играет музыка или что-то подобное, вы, вероятно, в основном будете окей. Если вы пытаетесь создать пользовательский экран блокировки, то есть много необычных взаимодействий на разных платформах Android. ("Помогите! Я не могу отключить будильник без перезагрузки телефона HTC").

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html

FLAG_SHOW_WHEN_LOCKED

флаг окна: специальный флаг, чтобы окна показывались, когда экран запертый.

FLAG_DISMISS_KEYGUARD

флаг окно : при установке окна будут вызывать клавиатуры, чтобы быть уволен, только если он не является безопасным блокировка клавиатуры. Потому что такой брелок не требуется для безопасности, это будет никогда не появляйтесь снова, если пользователь перемещается в другое окно (в отличие от FLAG_SHOW_WHEN_LOCKED, который будет только временно скрыть как безопасный, так и незащищенные брелки, но убедитесь, что они появится снова, когда пользователь перейдет к другой пользовательский интерфейс, который не скрывает их). Если клавиатуры активна и безопасность (требует разблокировки) чем пользователю все равно придется подтвердите это, прежде чем увидеть это окно, если только FLAG_SHOW_WHEN_LOCKED не имеет также был установлен. Постоянное значение: 4194304 (0x00400000)

официальный документ виджета экрана блокировки здесь

мне пришлось реализовать виджет блокировки экрана для моего проекта. В процессе я накопил несколько ресурсов.

  1. если у вас есть приложение, которое вы хотите поставить на экран блокировки, первый сделать его appwidget. Вы можете использовать AppWidget класс для этого.
  2. теперь, используйте AppWidgetHost класс от Android API до сделайте свой экран блокировки хостом для виджетов. Я не знаю, как это сделать, но есть некоторые существующие реализации, как mylockandroid (ссылки ниже).

ресурсы

http://code.google.com/p/mylockforandroid/ (NB этот код предназначен для более старых версий Android. Android 4.2 и выше имеет встроенную поддержку виджетов lockscreen)

http://mylockandroid.blogspot.com/2010/03/widget-lockscreen-beta-11-r2.html