2014-07-11 40 views
1

我正在從服務啓動活動。在服務啓動之前,我正在獲取部分喚醒鎖。電話鎖定時無法喚醒電話和顯示活動

PowerManager mgr = (PowerManager)context.getSystemService(Context.POWER_SERVICE); 
lockStatic=mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, LOCK_NAME_STATIC); 
lockStatic.setReferenceCounted(true); 

我開始從服務中像這樣的活動:

Intent intent = new Intent(mContext, NotificationActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

在我的活動類我添加標誌,以顯示活動時,屏幕鎖定這樣的:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
    /*Code to open a Dialog*/ 
} 

當我調試所有的代碼工作正常。活動已成功調用。但是,如果屏幕被鎖定(沒有安全鎖定鍵盤鎖),手機屏幕不顯示活動。我必須手動解鎖手機,然後才能看到正在運行的應用程序列表中的活動。

回答

1

如上所述here你還必須設置FLAG_FULLSCREEN爲您的活動

+0

加入FLAG_FULLSCREEN沒有幫助。仍然沒有工作 – isumit

+0

隨着Manifest文件中的活動標誌設置** android:theme =「@ android:style/Theme.NoTitleBar.Fullscreen」**使活動在鍵盤上方可見。 – isumit