java - 当设备处于睡眠模式时,onResume 和 onPause 循环?
问题描述
当我将我的设备置于睡眠模式(锁屏)时,logcat 会被调用淹没,onPause
这onResume
会一直循环,我的广播接收器会不断取消注册和注册,当我返回应用程序时它会停止。
这是正常的吗?
我的代码
@Override
public void onPause() {
super.onPause();
if (getActivity()!= null){
getActivity().unregisterReceiver(UpdateDataSetBroadCastReceiver);
}
Log.i(TAG, "AlbumsFragment OnPause Called!");
}
@Override
public void onResume() {
super.onResume();
registerUpdateDataSetBroadCastReceiver();
Log.i(TAG,"AlbumsFragment OnResume Called!");
}
解决方案
在 onPause 方法中,您应该首先取消注册接收者,调用其他方法(例如 Log.i),然后调用 super.onPause()。
推荐阅读
- java - java - 如何替换Java中字符串的一部分,它匹配第一个字符,在中间转义一些字符并在最后匹配一些字符?
- php - 如何拥有一个好的网址?
- javascript - 无法通过注册表将 PHP 中的数据插入 MYSQL 服务器
- c++ - 使用 stringstreams 加速 std::cout 日志记录
- android-studio - 替换后查看寻呼机不显示新片段
- css - 覆盖 Kendo UI CSS
- c - 可用于 sysfs 读取的最大字节数
- scala - Scala:使用反射加载类和方法时出错
- c++ - 尝试删除指向派生对象的基指针的断言错误
- python - Python 上下文管理器和对象创建