2013-05-17 135 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(); 
相關問題