更改方向Android设备

时间:2014-04-13 11:09:38

标签: java android osmdroid

我使用osmdroid制作了一个很少有活动的小地图应用程序,我在我的Android设备上运行它但是当我改变设备的方向时,似乎应用程序回到主要活动。

例如我启动应用程序,我正在寻找我在垂直(纵向)模式下的当前位置,但如果我将方向更改为横向模式,我的应用程序将重新启动,并且我在纵向模式下放松了当前位置... < / p>

我不知道为什么要这样做......

4 个答案:

答案 0 :(得分:3)

当屏幕方向等配置发生变化时,Android会重新启动正在运行的活动。这些事件称为运行时更改。这就是你失去当前位置的原因。

您需要保存数据,以便在发生类似情况时,您可以从原来的位置恢复。

可以在Android Developer网站上找到更多信息。

答案 1 :(得分:0)

在您的清单中,在您的活动定义中添加android:configChanges="orientation"。 例如:

<activity
    android:name=".MainActivity"
    android:label="@string/title_activity_main"
    android:configChanges="orientation">

否则添加screenSize

android:configChanges="orientation|screenSize"

答案 2 :(得分:0)

覆盖Activity课程中的方法:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    // TODO: handle the new configuration
}

答案 3 :(得分:0)

如果您想在所有活动之间分享一些数据;我的意思是所有的申请。那你就不关心活动的背景......你有很多选择。见answer;它包含许多代码示例和一个很好的解释。