2009-10-27 145 views
0

當背光和屏幕熄滅並鎖定時,我想繼續運行我的應用程序。如何找出設備屏幕是否熄滅並通過通知從我的應用程序鎖定,以便我可以忽略它並繼續運行我的應用程序。Android:屏幕關閉和鎖定通知?

感謝您的幫助。

+0

接受的答覆。 – Getsy 2009-11-27 09:53:21

回答

1

Android中的所有內容都是一個應用程序,包括Home和Lock屏幕。因此,除非您有後臺服務,否則您的應用程序無法運行。即使這可以隨時中斷,你不應該試圖阻止系統這樣做。它必須處理Android手機中的緊張內存管理。 Mark Murphy在該主題上撰寫了excellent article,您可以通過此鏈接閱讀

+0

感謝您的幫助。完成。 – Getsy 2009-11-19 11:30:06

1

您可以設置一個廣播接收器,當它接收到屏幕開啓或關閉操作時將重新啓動您的主要活動。

<receiver android:name=".AlarmReceiver"> 

      <intent-filter> 
       <action android:name="android.intent.action.SCREEN_OFF" /> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="android.intent.action.SCREEN_ON" /> 
      </intent-filter> 
     </receiver> 

然後你可以創建一個簡單的接收器來啓動你想要的活動。 另外,您需要確保您的活動可以覆蓋屏幕並鎖定。 你可以用這段代碼來做到這一點;

final Window win = getWindow(); 
     win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
       | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
     win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
       | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 

希望這有助於!

+0

不適用於我...您可以發佈您的onReceive()方法 – 2011-11-24 11:28:38

+1

不起作用。您只能收聽您活動中註冊的收件人的廣播。 – 2012-02-02 00:31:08