我正在使用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
我无法在演示应用程序中找到处理方向的代码。有谁知道我哪里出错了。
PS。我在我的宣言中宣布了我的活动:
<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>
答案 0 :(得分: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());
答案 1 :(得分:0)
您定位的是什么Android版本? 从Android 3.2(API级别13)开始,当设备在纵向和横向之间切换时,“屏幕尺寸”也会发生变化。
<activity
android:name=".activity.MapActivity"
android:configChanges="orientation|screenSize">
</activity>