首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方向变化使SensorManager引用无效

方向变化使SensorManager引用无效
EN

Stack Overflow用户
提问于 2012-12-11 12:17:14
回答 2查看 154关注 0票数 0

我正在创建一个同时附加位置和传感器侦听器的应用程序,这样它就可以将更改记录到文件中。

奇怪的是,在某些情况下,使用该应用程序的手机之一是强制关闭,我将其缩小到更改方向:如果手机在录制过程中更改了方向,那么我在活动中存储的SensorManager属性作为'mSensorManager‘将被设置为null。

这就引出了我的问题:我不应该存储SensorManager引用,因为它是一个糟糕的设计选择?或者,在使用之前,我应该检查引用是否为空吗?

编辑:添加两件事:

  1. 我发现,不仅加速度计和磁强计的属性也是无效的(这是有意义的),而且位置管理器(这不会造成太大的变化,因为它与方向的确定无关);
  2. 我是否应该将这些属性存储在活动以外的其他东西中,这样就不会在更改方向时取消引用了?

为我做了什么:纠正侦听器、管理器和传感器实例化要在活动的生命周期内完成。然后唯一的问题是唤醒锁,它被摧毁了,但我需要保持通过方向的变化。我也将其更改为在活动生命周期中获得,尽管处于不同的阶段。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-21 16:12:41

为我做了什么:纠正侦听器、管理器和传感器实例化要在活动的生命周期内完成。然后唯一的问题是唤醒锁,它被摧毁了,但我需要保持通过方向的变化。我也将其更改为在活动生命周期中获得,尽管处于不同的阶段。

票数 0
EN

Stack Overflow用户

发布于 2012-12-11 12:21:51

  1. 在清单中添加此行之后,尝试在活动标记中添加以下行 android:configChanges="orientation|keyboardHidden“ 我想这是无效的,因为在方向改变时,需要为该活动调用onCreate
  2. 尝试使用共享偏好保存值
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13820265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档