我的app中使用gps,现在的需求是,当程序转入后台的时候,我想关掉GPS,这样可以省电,现在的问题是,无法监听前台到后台的状态切换,本来考虑的home键的监听,但是后来发现home键无法监听到,在网上看到有的朋友说可以从Activity继承一个BaseActivity,然后所有的页面都继承这个BaseActivity,由于我的项目中同时使用了Activity,TabActivity,FrameActvity作为基类,因此这种方法似乎也不是非常合适,不知道各位朋友有没有什么好的方法,希望得到大家的帮助 谢谢了Android

解决方案 »

  1.   

    在onPause方法里关闭GPS不行吗?
      

  2.   

    可以重写Activity.onUserLeaveHint方法。 
    关于onUserLeaveHint源码中的注释是这样的?
    Called as part of the activity lifecycle when an activity is about to go into the background as the result of user choice.  For example, when the user presses the Home key。
      

  3.   

    @wlcw16:onpause是可以,但是由于页面太多,每个都有机会进入onpause
      

  4.   

    @Hacker686Ok:主要是我的页面太多了 不可能每个页面都重写这个方法阿
      

  5.   

    就像网上说的,你对Activity,TabActivity,FrameActvity都写个Base类,BaseActivity,BaseTabActivity,BaseFrameActvity,在这三个类实现onPause,然后其它继承它们就好了
      

  6.   

    其实在tabActivity里面管理的activity也有后同样的生命周期,即都有onPause,可以放心地在baseActivity-onpause处理的。另外,Tab方式现在已经很不提倡了,改成fragment吧,每个fragment都有自己的生命周期,可以更灵活地管理。
      

  7.   

    谢谢大家 ,看来目前也没有更好的办法了 另外请问一下 如果Activity,TabActivity,FrameActvity都写个Base类,这些类要在XML文件注册吗?没有这么用过