2013-05-17 136 views
3

如您所知,在“Viber”,“Line”和...等应用程序中,当新设备接收到新消息时,并向用户显示消息,即使屏幕已锁定,但锁定屏幕也不会消失。即使在使用android 2.3.7的“Xperia U”中也会发生这种情况。我想要做同样的事情在我的申请,我也试过以下标志添加到我的窗口:显示活动屏幕锁定为“Viber”,“Line”应用程序

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 

,还可以使用激活锁定,但它只是打开屏幕上不显示我的应用程序。所以我该怎么做 ?

回答

0

您可以使用以下代码禁用您的锁定屏幕。

PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); 
    wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK 
      | PowerManager.ACQUIRE_CAUSES_WAKEUP 
      | PowerManager.ON_AFTER_RELEASE, "INFO"); 
    wl.acquire(); 

    KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); 
    kl = km.newKeyguardLock("name"); 
    kl.disableKeyguard(); 

必要的清单权限。

<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

在的onPause()或的onDestroy()。

wl.release(); 
相关问题