0
版本 1.29.0
实现方式不对,这种方法实现不了判断应用是否在前台,在我8.1设备上全是true。
用UtilsActivityLifecycleImpl里那个mIsBackground
版本 1.29.0
实现方式不对,这种方法实现不了判断应用是否在前台,在我8.1设备上全是true。
用UtilsActivityLifecycleImpl里那个mIsBackground
可以提供下代码吗?
提供有问题的demo么,还是可用的代码?
提供你解决的方案
implementation ‘androidx.lifecycle:lifecycle-process:2.2.0‘
import androidx.lifecycle.ProcessLifecycleOwner;
public class AppApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
ProcessLifecycleOwner.get().getLifecycle().addObserver(new ApplicationObserver());
}
}
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
public class ApplicationObserver implements LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
private void onAppBackground() {
// TODO: 2020/10/26 应用到后台
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
private void onAppForeground() {
// TODO: 2020/10/26 应用到前台
}
}
我想了解下 mIsBackground 值在什么情况下不对?
按下home,这之后程序在后台执行,获取的mIsBackground值不对,AppUtils.isAppForeground也不对
你有试过 AppUtils.registerAppStatusChangedListener() 吗,我这边测试的不会存在你说的问题呀
AppUtils.registerAppStatusChangedListener() 回调是对的,前台后台切换,对应的方法都执行。 AppUtils.isAppForeground()获取的值不对,都是true