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)
공식 잠금 화면 위젯 문서는 여기
내 프로젝트에 잠금 화면 위젯을 구현해야했습니다. 그 과정에서 저는 몇 가지 자원을 축적했습니다.
- 잠금 화면에 표시하려는 앱이있는 경우 먼저 appwidget으로 만드십시오 . 이를 위해
AppWidget클래스를 사용할 수 있습니다 . - 이제
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
'Program Club' 카테고리의 다른 글
| Python에서 사이트를 핑 하시겠습니까? (0) | 2020.10.25 |
|---|---|
| Ruby에 단일 Boolean 클래스 대신 TrueClass와 FalseClass가있는 이유는 무엇입니까? (0) | 2020.10.24 |
| jQuery .val ()과 .attr ( 'value')의 차이점은 무엇입니까? (0) | 2020.10.24 |
| String.Replace () 대 StringBuilder.Replace () (0) | 2020.10.24 |
| jQuery가 requestAnimationFrame을 사용하지 않는 이유는 무엇입니까? (0) | 2020.10.24 |