Android 监听app前台、后台状态切换的实现方案

项目需要app切到后台时,立即定位上传坐标。
网上方案很多,如下:http://blog.csdn.net/mabeijianxi/article/details/50824861
本文只对方案三:ActivityLifecycleCallbacks的实现作说明:

 步骤一:实现接口
public class AppLifeCycle implements Application.ActivityLifecycleCallbacks{
               ......
}

步骤二:实现onActivityStarted()、onActivityStopped()方法,通过计数的方式判断当前app状态
    private int activityAount = 0;
    private boolean isAppForeground = true;
    @Override
     public void onActivityStarted(Activity activity) {
         activityAount++;
         if(activityAount>0){
isAppForeground = true;
          // do something by yourself
 }
     }

    @Override
    public void onActivityStopped(Activity activity) {
        activityAount--;
        if (activityAount == 0 ) {
            // 此时表明应用在后台
            isAppForeground = false;
   // do something by yourself
           // Intent i = new Intent(MyApplication.getMyApplication(), TrackService.class);
           // MyApplication.getMyApplication().startService(i);
        }
    }

步骤三:在Application中,注册监听
mAppLifeCycle = new AppLifeCycle();

registerActivityLifecycleCallbacks(mAppLifeCycle);  // 注册监听


备注:

1、只适用于android4.0以及以上

2、适用于home键、返回键、锁屏键的app后台状态

你可能感兴趣的:(Android小技巧)