1

我正在使用 SKMaps (Skobbler) 在 Eclipse 中开发 Android 应用程序。

我有一个显示地图的应用程序,有 2 个按钮,可以在我点击的屏幕上找到通往某个点的路线,并启动 SDK 提供的导航。

我的问题是当我更改应用程序刚刚关闭的设备方向时。它没有给我任何错误消息,因此我无法确定问题的根源。

提供的演示应用程序可以轻松处理设备的方向。我注意到当我在 LogCat 中翻转它时,会显示一条消息:

05-09 12:22:37.560: D/SKMaps(7866): MapRenderer----onSurfaceChanged width = 720 height= 1134

我的应用程序仅以最后一条消息关闭:

05-09 12:22:37.745: D/SKMaps(7866): SKCurrentPositionProvider----stopped receiving position updates

我在演示应用程序中找不到处理方向的代码的位置。有谁知道我哪里出错了。

附言。我在宣言中宣布我的活动为:

<activity
    android:name="com.aatana.mymapproject.MyActivity"
    android:configChanges="orientation">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
4

2 回答 2

1

在演示项目中,MapActivity 已经覆盖了它的 onDestroy:

@Override
    protected void onDestroy() {
        super.onDestroy();
        currentPositionProvider.stopLocationUpdates();
        SKMaps.getInstance().destroySKMaps();
        android.os.Process.killProcess(android.os.Process.myPid());
    }

您需要删除终止进程的行:

        android.os.Process.killProcess(android.os.Process.myPid());
于 2014-09-30T07:47:52.597 回答
0

你的目标是什么安卓版本?从 Android 3.2(API 级别 13)开始,当设备在纵向和横向之间切换时,“屏幕尺寸”也会发生变化。

<activity 
       android:name=".activity.MapActivity" 
       android:configChanges="orientation|screenSize"> 
</activity>
于 2015-04-09T11:42:25.220 回答