2016-12-03 1 views

답변

0

다음과 같은 경고 대화 상자가 브로드 캐스트 리시버에서 실행 및 화면 helped.Modify이이

+0

화면 잠금 해제 후에 만 ​​작동합니다. @peter –

+0

권한을 추가 했습니까? – Mushirih

+0

예에도 권한이 추가되었습니다. –

0

사용해야하는 데 도움이 귀하의 요구에

//required permissions in manifest 
<uses-permission android:name="android.permission.WAKE_LOCK"/> 
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/> 

//code in my broadcast 
    @Override 
    public void onReceive(final Context context, final Intent intent) { 
     if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { 
      Window window = (Window) context.getSystemService(Context.WINDOW_SERVICE); 
      window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
      window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
      window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 

      PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "tag"); 
      wl.acquire(); 
     } 
          AlertDialog alertDialog = new AlertDialog.Builder(context) 
            .setTitle("On lock dialog message") 
            .setMessage(""Notice") 
            .create(); 

          alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON 
            | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
            | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
            | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
          alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 
          alertDialog.show(); 
} 

희망을 맞게되었다 때 보여 주었다 이 깃발 : FLAG_SHOW_WHEN_LOCKED 예 :

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
+0

'getWindow(). addFlags (WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);'하지만 화면 잠금 해제 후에 만 ​​작동합니다. –

+0

도이 플래그를 사용해야합니다 : ** FLAG_DISMISS_KEYGUARD ** – zMabrook

+0

하고 mainfest에 권한을 추가하는 것을 잊지 마세요 : '<사용 - 권한 안드로이드 : 이름 = "android.permission.DISABLE_KEYGUARD"/> ' 이 줄을 매니페스트에 나타날 활동에 추가하십시오. android : showOnLockScreen = "true"' – zMabrook

관련 문제