2012-05-29 5 views
6

나는 SW, Google 등에서 지난 2 일간을 찾고있었습니다. 아래 화면과 같이 기본 Android ICS 잠금 화면과 함께 제공되는 활동을 구현하는 방법을 찾고 있습니다. 그 화면은 Player Pro에서 왔지만 다른 플레이어 (예 : PlayerPro)도 똑같은 모양을 가지고 있다는 것을 알아 차렸습니다. 그게 네이티브 또는 적어도 뭔가 구현 된 일반적인 방법이라고 생각하는 이유입니다.Android ICS 기본 잠금 화면

    : 이러한 이벤트에 BroadCaseReciever와

    • WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
    • WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD

    :

    지금까지 난 단지 이러한 플래그를 사용하여 잠금 화면을 대체하는 얻을 수 및 활동 관리

  • Intent.ACTION_SCREEN_ON
  • Intent.ACTION_SCREEN_OFF
  • Intent.ACTION_USER_PRESENT

내 문제 내가 내 활동이 잠금 화면이 교체하지으로 표시 할 것입니다. 너희들이 이것을 달성하는 방법을 알고 있니?

기본 숨겨진 API가 있습니까?

이 특정 기능을 구현하는 몇 가지 샘플을 저에게 연결할 수 있습니까? 사전에

감사)

enter image description here enter image description here enter image description here

+0

이 게시물보기 : http://stackoverflow.com/questions/4065201/android-how-can-i-programmatically-draw-text-on-key-guard-screen-lock-screen 4.0이 가능합니다. 그렇지 않으면 Player Pro는 자체 API를 사용합니다 – Guillaume

+0

"자체 API"란 무엇입니까? 그런데 다른 플레이어들도 동일한 기능 (예를 들어 PowerAmp)을 가지고 있으므로 PlayerPro 녀석이 개발 한 것이 아닌 것 같습니다. –

+0

잠금 플래그가있을 때 쇼를 사용하는 대화 상자 조각일까요? 편집 : 거기에 깃발이있는 경우 창 외부 감동을 허용하는 FLAG_SPLIT_TOUCH 것으로 나타납니다 ...이 두 가지의 조합처럼 보일 수 있습니다. –

답변

7

Android 4.0 (API 레벨 14)에 추가 된 오디오 컨트롤 "원격보기"(RemoteControlClient) API를 찾고 계신 것 같습니다.

메타 아트웍 미디어 전송 제어 버튼을 표시 할 수있는 원격 제어 의해 소비되는 것을 의미 노출 정보가 수 : I 안드로이드 현상 문서에 the RemoteControlClient API 알았다. 나는이 API 나 자신을 사용한 적이, 그래서 이것은 당신을 위해 작동하지 않는 경우 나는 사과 :

주 (. 그것은 this page 떨어져 연결되었다).

+0

+1 이것은 그가 찾고있는 것이고, 잠금 화면과 기본 통합을 위해 사용해야하는 것입니다. – kcoppock

+0

yeee ... 마침내 내가 찾고 있던 대답. +1과 현상금. API가 있지만 그 API를 찾을 수 없다는 것을 알고있었습니다. 고마워 정말 마침내 lockscreen을 구현할 수있어서 기뻤다. D. –

+0

도움과 성의가있게되어서 고맙습니다 :) – scorpiodawg

1

당신은 거의 바로 그 일을하고 있습니다. BroadcastReceiver로하는 일을 계속하십시오. 그것이 방법입니다. 윈도우의 경우, 이러한 플래그는 사용할 필요가 있습니다

  • 가 수행 WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL

  • 을 WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 하지 사용 FLAG_DISMISS_KEYGAURD

    이 플래그가하는 일 : SHOW_WHEN_LOCKED는 활동이 잠금 화면 상단에 표시되도록합니다. FLAG_NOT_TOUCH_MODAL을 사용하면 활동에없는 터치 이벤트가 다른 활동으로 이동할 수 있습니다. 즉, 사용자가 화면 잠금을 해제 할 수 있습니다. FLAG_DISMISS_KEYGUARD은 잠금 화면을 제거하므로 사용하지 않습니다.

    res/values ​​/ styles에서이 스타일을 정의하십시오.XML 파일 매니페스트에서

    <?xml version="1.0" encoding="utf-8"?> 
    <resources> 
        <style name="Theme.FloatingTranslucent" parent="android:Theme.Translucent.NoTitleBar"> 
        <item name="android:windowIsFloating">true</item> 
        </style> 
    </resources> 
    

    정의 활동의 스타일

    <activity android:name=".SampleActivity" android:theme="@style/Theme.FloatingTranslucent"> 
    ... 
    </activity> 
    

    어떤이가하는 것입니다 것은 활동이 완전히 통해 랩 내용를 볼 수 있습니다.

    이제 액티비티가 잠금 화면 상단에 있어야하며 잠금 화면과 앱에 터치 입력을 허용하고 전체 크기가 아닌 액티비티를 허용해야합니다.

    건배.

  • +0

    당신은 이미 그렇게 구현 했습니까? 왜냐하면 나는 노력했기 때문에 android : windowIsFloating을 true로 설정하면 FLAG_SHOW_WHEN_LOCKED를 설정하더라도 키 가드 상단에 Activity가 표시되지 않습니다. –

    +0

    또한 TYPE_KEYGUARD_DIALOG를 윈도우 유형으로 넣으려고했지만 아무 것도 변경되지 않았습니다. –

    +0

    안녕하세요 @ Zaid-Daghestani에게이 솔루션을 제공해 주시겠습니까? http://stackoverflow.com/questions/33466950/creating-a-real-lockscreen-module-for-android –