2017-09-05 4 views
0

전화 화면을 통해 알림 창을 표시해야합니다. 안드로이드 7 이하에서는이 기능이 정상적으로 작동하지만 안드로이드 7에서는 작동하지 않습니다.Android 7.0 버전의 통화 화면 위 팝업 창

서비스가 창 관리자를 만들고보기를 추가했지만 Android 7의 경우 장치가 잠긴 경우에는 통화 화면을 통해 표시되지 않습니다.

mParams = new WindowManager.LayoutParams(
       width - 20, 
       ViewGroup.LayoutParams.WRAP_CONTENT, 
       WindowManager.LayoutParams.TYPE_SYSTEM_ALERT | 
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 
       WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | 
        WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | 
        WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | 
        WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | 
        WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | 
        WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | 
        WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | 
        WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, 
       PixelFormat.TRANSPARENT); 

mParams.gravity = Gravity.CENTER; 
+0

몇 가지 코드를 보여주십시오. 문제를 해결하기 위해 무엇을 했습니까? – Bryan

+0

@Bryan은 서비스에서 창 관리자를 만들고보기를 추가했지만 안드로이드에서는 작동하지 않습니다. 7.o –

+0

응용 프로그램에 대한 오버레이 권한을 부여 했습니까? –

답변

0

WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY는 안드로이드 8.0을 대상으로 애플 리케이션을위한 비 시스템 애플 리케이션을위한 API 레벨 26 이상 사용되지 않으며 no longer works as it used to되었다; 대신 WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY을 사용하십시오.

+0

에 대한 링크를 통해 여전히 작동하지 않습니다. 진정한 발신자와 같은 발신자 ID를 개발하려고하지만 발신자 ID는 기기가 Android 7에 잠겨있을 때 표시되지 않습니다. –