2009-10-27 131 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