java.lang.IllegalStateException: you have not supplyed the global app context info from SDKInitializ

来源:互联网 发布:网络机顶盒H3芯片 编辑:程序博客网 时间:2024/06/07 03:19

在百度地图api开发中,会遇到:

java.lang.IllegalStateException: you have not supplyed the global app context

 info from SDKInitializer.initialize(Context) function

非法状态异常的情况,他说我们没有在SDKInitializer.initialize(Context context)当中提供一个全局应用程序的上下文。

      

解决方法:

(1)新建一个application文件,例:DemoApplication.java。

(2)在application文件当中添加代码SDKInitializer.initialize(Context context),如图:

(3)在清单文件AndroidManifest.xml中添加application文件,如图:

(4)随便写一个启动百度地图的例子:

/** * 演示MapView的基本用法 */public class BaseMapDemo extends Activity {@SuppressWarnings("unused")private static final String LTAG = BaseMapDemo.class.getSimpleName();private MapView mMapView;private BaiduMap mBaiduMap;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Intent intent = getIntent();if (intent.hasExtra("x") && intent.hasExtra("y")) {// 当用intent参数时,设置中心点为指定点Bundle b = intent.getExtras();LatLng p = new LatLng(b.getDouble("y"), b.getDouble("x"));mMapView = new MapView(this,new BaiduMapOptions().mapStatus(new MapStatus.Builder().target(p).build()));} else {mMapView = new MapView(this, new BaiduMapOptions());}setContentView(mMapView);mBaiduMap = mMapView.getMap();}@Overrideprotected void onPause() {super.onPause();// activity 暂停时同时暂停地图控件mMapView.onPause();}@Overrideprotected void onResume() {super.onResume();// activity 恢复时同时恢复地图控件mMapView.onResume();}@Overrideprotected void onDestroy() {super.onDestroy();// activity 销毁时同时销毁地图控件mMapView.onDestroy();}}
(5)但是别忘了百度地图环境配置,这里就不介绍了,就可以直接运行

0 0