百度地图在eclipse上安装的时候可以运行,但退出后再点击就不能运行了

这个原因,不知道为啥,在DDMS中报的错误是:

create GsmCellLocation

,可是我没有用到跟短信相关的服务啊 。

再去看的导入的包,也没发现有类似的包被导入。


也许是有些乱七八糟的服务没被关闭。

就在Loctaton类设置了:

@Override
	protected void onPause() {
		mMapView.onPause();
		super.onPause();
	}

	@Override
	protected void onResume() {
		mMapView.onResume();
		super.onResume();
	}

	@Override
	protected void onDestroy() {
		mMapView.destroy();
		mLocClient.stop();
		super.onDestroy();
	}

	@Override
	protected void onSaveInstanceState(Bundle outState) {
		super.onSaveInstanceState(outState);
		mMapView.onSaveInstanceState(outState);

	}

	@Override
	protected void onRestoreInstanceState(Bundle savedInstanceState) {
		super.onRestoreInstanceState(savedInstanceState);
		mMapView.onRestoreInstanceState(savedInstanceState);
	}

在application中重新写了Onterminate()方法:

	@Override
	public void onTerminate() {
		// TODO Auto-generated method stub
		if (mBMapManager != null) {
			mBMapManager.destroy();
		}
		mBMapManager = null;
		super.onTerminate();
	}
对地图管理器进行了回收。

可惜还是不行,看来不用点极端的方法是不行了。

Location类的Ondestroy()方法中添加了一句代码:

	@Override
	protected void onDestroy() {
		mMapView.destroy();
		mLocClient.stop();
		super.onDestroy();
		System.exit(3);
	}
一运行,还真行了。没报错。。。。。


为啥想到用这个非常狠的退出软件的语句呢??

主要是每次第一次运行的时候能行,可是运行第二次的时候就不能运行了,这个是什么原因呢,不可能是我的key的原因,因为key错误的话,我是不能联网定位到我的位置的,那么就是代码的原因了,为代码在第一次运行良好,为啥在退出再运行就出错呢,这看来就是第一次 的尾巴没清理干净,我试了网上找的,看老版本的sdk的办法后都没法,抱着试试的态度认为是服务的原因,所以才采用这个方法的,没想到还真好使。



你可能感兴趣的:(应用,gps,百度地图)