LogCat中的错误提示如下:
java.lang.RuntimeException: Unable to resume activity {com.baidu.map/com.baidu.map.BaiduMapApiActivity}: java.lang.ClassCastException: android.app.Applicat
Caused by: java.lang.ClassCastException: android.app.Application
错误原因:
protected void onResume(){
BMapApiDemoApp app=(BMapApiDemoApp)this.getApplication();
if(!app.m_bKeyRight){//如果验证没有通过,则提示输入正确的授权key值
TextView text=(TextView)findViewById(R.id.text_Info);
text.setText("请在BMapApiDemoApp.java文件中输入正确的授权Key !\r\n"+"申请地址:http://dev.baidu.com/wiki/static/imap/key/");
text.setTextColor(Color.RED);
}
super.onResume();
}
在上面这段代码中用到了
BMapApiDemoApp app=(BMapApiDemoApp)this.getApplication();
这一句,却没有在AndroidManifest.xml中的application中添加
android:name=".BMapApiDemoApp"
这句话。
解决办法,在AndroidManifest.xml中的application中添加上
android:name=".BMapApiDemoApp"
即可。
本文介绍了一个关于Baidu Map API使用过程中遇到的ClassCastException错误,并详细解释了错误的原因及解决方法。主要是因为在onResume()方法中尝试将Application强转为BMapApiDemoApp类型,但未在AndroidManifest.xml文件中正确指定Application类。
314

被折叠的 条评论
为什么被折叠?



