Android的应用如何知道系统要进入Suspend状态,我想在整个系统进入suspend之前做点事情,不知道是否可行?
请大家多提建议,谢谢。

解决方案 »

  1.   

    Android应用层提供了android.os.PowerManager类供应用程序使用,用于控制设备的电源状态切换。
    是否允许修改系统源码?
      

  2.   

    个人觉得android应用层不需要知道系统什么时候要进入suspend,不知道有没有类似的接口供调用
    我可以说一个别的思路,不过有点笨
    写一个简单的驱动,驱动里面有suspend,当系统挂起的时候,通过这个函数发送一个netlink消息给你的应用,这样应用就可以处理了
      

  3.   

    非常感谢大家的回复,自己看了看,已经找到方法。写个驱动,注册一个PM的Notifier,响应PM_SUSPEND_PREPARE事件,系统进入suspend之前,会通过pm_notifier调用相应的驱动中的函数,并传入PM_SUSPEND_PREPARE事件,在接收到该事件后,驱动设置一个标记位,然后做个延时,上层应用通过轮训这个标记位就可以知道系统是不是要进入suspend了。