Program Club

Android 잠금 화면 위젯

proclub 2020. 10. 24. 12:04
반응형

Android 잠금 화면 위젯


몇몇 사용자가 내 앱에 대한 Android 잠금 화면 위젯을 요청했습니다. 잠금 화면에 유지되고 앱과 상호 작용할 수있는 위젯을 원한다고 생각합니다.

이에 대한 공식 문서를 찾을 수 없었습니다. 내가 찾은 유일한 것은 홈 화면 위젯을 가져와 잠금 화면에 표시하는 앱이었습니다.

진정한 잠금 화면 위젯을 만드는 방법에 대해 자세히 알아볼 수있는 단서가 있습니까?


잠금 화면 상호 작용이 어렵습니다. 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와 달리 보안 및 비보안 키 가드 모두 일시적으로 만 숨겨 지지만 사용자가 이동할 때 다시 표시되도록합니다). 숨기지 않는 다른 UI). 키 가드가 현재 활성화되어 있고 보안 상태 인 경우 (잠금 해제 패턴 필요) FLAG_SHOW_WHEN_LOCKED도 설정되어 있지 않는 한 사용자는이 창을보기 전에 확인해야합니다. 상수 값 : 4194304 (0x00400000)


공식 잠금 화면 위젯 문서는 여기


내 프로젝트에 잠금 화면 위젯을 구현해야했습니다. 그 과정에서 저는 몇 가지 자원을 축적했습니다.

  1. 잠금 화면에 표시하려는 앱이있는 경우 먼저 appwidget으로 만드십시오 . 이를 위해 AppWidget클래스를 사용할 수 있습니다 .
  2. 이제 AppWidgetHostAndroid API 클래스를 사용하여 잠금 화면을 위젯 의 호스트만듭니다 . 이 부분을 수행하는 방법을 모르지만 mylockandroid 와 같은 기존 구현이 있습니다 (아래 링크).

자원

http://code.google.com/p/mylockforandroid/ (NB이 코드는 Android 이전 버전 용입니다. Android 4.2 이상에는 잠금 화면 위젯 지원이 내장되어 있습니다.)

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

참고 URL : https://stackoverflow.com/questions/4116001/android-lock-screen-widget

반응형