android百度地图api实现短信接收定位资料Word下载.docx

上传人:b****5 文档编号:19713060 上传时间:2023-01-09 格式:DOCX 页数:20 大小:50.72KB
下载 相关 举报
android百度地图api实现短信接收定位资料Word下载.docx_第1页
第1页 / 共20页
android百度地图api实现短信接收定位资料Word下载.docx_第2页
第2页 / 共20页
android百度地图api实现短信接收定位资料Word下载.docx_第3页
第3页 / 共20页
android百度地图api实现短信接收定位资料Word下载.docx_第4页
第4页 / 共20页
android百度地图api实现短信接收定位资料Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

android百度地图api实现短信接收定位资料Word下载.docx

《android百度地图api实现短信接收定位资料Word下载.docx》由会员分享,可在线阅读,更多相关《android百度地图api实现短信接收定位资料Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

android百度地图api实现短信接收定位资料Word下载.docx

BMapManager初始化错误!

"

Toast.LENGTH_LONG).show();

publicstaticDemoApplicationgetInstance(){

returnmInstance;

//常用事件监听,用来处理通常的网络错误,授权验证错误等

staticclassMyGeneralListenerimplementsMKGeneralListener{

publicvoidonGetNetworkState(intiError){

if(iError==MKEvent.ERROR_NETWORK_CONNECT){

Toast.makeText(DemoApplication.getInstance().getApplicationContext(),"

您的网络出错啦!

Toast.LENGTH_LONG).show();

elseif(iError==MKEvent.ERROR_NETWORK_DATA){

输入正确的检索条件!

//...

publicvoidonGetPermissionState(intiError){

//非零值表示key验证未通过

if(iError!

=0){

//鎺堟潈Key閿欒锛�

请输入正确的授权Key,并检查您的网络连接是否正常!

error:

"

+iError,Toast.LENGTH_LONG).show();

DemoApplication.getInstance().m_bKeyRight=false;

else{

DemoApplication.getInstance().m_bKeyRight=true;

Toast.makeText(DemoApplication.getInstance().getApplicationContext(),

"

key认证成功"

}

Mainactivity.java:

importjava.util.List;

importandroid.annotation.SuppressLint;

importandroid.app.Activity;

importandroid.content.ContentValues;

importandroid.database.ContentObserver;

importandroid.database.Cursor;

importandroid.graphics.drawable.Drawable;

import.Uri;

importandroid.os.Build;

importandroid.os.Bundle;

importandroid.os.Handler;

importandroid.telephony.SmsManager;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.EditText;

importcom.baidu.mapapi.map.ItemizedOverlay;

importcom.baidu.mapapi.map.MapView;

importcom.baidu.mapapi.map.OverlayItem;

importcom.baidu.mapapi.search.MKAddrInfo;

importcom.baidu.mapapi.search.MKBusLineResult;

importcom.baidu.mapapi.search.MKDrivingRouteResult;

importcom.baidu.mapapi.search.MKPoiResult;

importcom.baidu.mapapi.search.MKSearch;

importcom.baidu.mapapi.search.MKSearchListener;

importcom.baidu.mapapi.search.MKShareUrlResult;

importcom.baidu.mapapi.search.MKSuggestionResult;

importcom.baidu.mapapi.search.MKTransitRouteResult;

importcom.baidu.mapapi.search.MKWalkingRouteResult;

importapi.basestruct.GeoPoint;

//importcom.gy.msmsend.R;

publicclassMainActivityextendsActivity{

//UI相关

ButtonmBtnReverseGeoCode=null;

//将坐标反编码为地址

ButtonmBtnGeoCode=null;

//将地址编码为坐标

ButtonmsmSend=null;

//短信发送按钮

//地图相关

MapViewmMapView=null;

//地图View

//搜索相关

MKSearchmSearch=null;

//搜索模块,也可去掉地图模块独立使用

EditTextphoneText;

String[]as;

Stringcity=null;

Stringpos=null;

Drawablemarker;

intpng=0;

//

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

/*

*注册短信变化事件监听

*/

SmsContentcontent=newSmsContent(newHandler());

//注册短信变化监听

this.getContentResolver().registerContentObserver(Uri.parse("

content:

//sms/"

),true,content);

/**

*使用地图sdk前需先初始化BMapManager.

*BMapManager是全局的,可为多个MapView共用,它需要地图模块创建前创建,

*并在地图地图模块销毁后销毁,只要还有地图模块在使用,BMapManager就不应该销毁

*/

DemoApplicationapp=(DemoApplication)this.getApplication();

if(app.mBMapManager==null){

app.mBMapManager=newBMapManager(getApplicationContext());

/**

*如果BMapManager没有初始化则初始化BMapManager

app.mBMapManager.init(newDemoApplication.MyGeneralListener());

setContentView(R.layout.activity_main);

CharSequencetitleLable="

我的位置"

;

setTitle(titleLable);

//地图初始化

mMapView=(MapView)findViewById(R.id.bmapView);

mMapView.getController().enableClick(true);

mMapView.getController().setZoom(12);

//初始化搜索模块,注册事件监听

mSearch=newMKSearch();

mSearch.init(app.mBMapManager,newMKSearchListener(){

publicvoidonGetPoiDetailSearchResult(inttype,interror){

publicvoidonGetAddrResult(MKAddrInfores,interror){

if(error!

Stringstr=String.format("

错误号:

%d"

error);

Toast.makeText(MainActivity.this,str,Toast.LENGTH_LONG).show();

return;

}

//地图移动到该点

mMapView.getController().animateTo(res.geoPt);

if(res.type==MKAddrInfo.MK_GEOCODE){

//地理编码:

通过地址检索坐标点

StringstrInfo=String.format("

纬度:

%f经度:

%f"

res.geoPt.getLatitudeE6()/1e6,res.geoPt.getLongitudeE6()/1e6);

Toast.makeText(MainActivity.this,strInfo,Toast.LENGTH_LONG).show();

if(res.type==MKAddrInfo.MK_REVERSEGEOCODE){

//反地理编码:

通过坐标点检索详细地址及周边poi

StringstrInfo=res.strAddr;

EditTexteditGeoCodeKey=(EditText)findViewById(R.id.geocodekey);

//设置城市

editGeoCodeKey.setText(strInfo);

//生成ItemizedOverlay图层用来标注结果点

ItemizedOverlay<

OverlayItem>

itemOverlay=newItemizedOverlay<

(null,mMapView);

//生成Item

OverlayItemitem=newOverlayItem(res.geoPt,"

null);

//为maker定义位置和边界

marker.setBounds(0,0,marker.getIntrinsicWidth(),marker.getIntrinsicHeight());

//给item设置marker

item.setMarker(marker);

//在图层上添加item

itemOverlay.addItem(item);

//清除地图其他图层

mMapView.getOverlays().clear();

//添加一个标注ItemizedOverlay图层

mMapView.getOverlays().add(itemOverlay);

//执行刷新使生效

mMapView.refresh();

}

publicvoidonGetPoiResult(MKPoiResultres,inttype,interror){

publicvoidonGetDrivingRouteResult(MKDrivingRouteResultres,interror){

publicvoidonGetTransitRouteResult(MKTransitRouteResultres,interror){

publicvoidonGetWalkingRouteResult(MKWalkingRouteResultres,interror){

publicvoidonGetBusDetailResult(MKBusLineResultresult,intiError){

publicvoidonGetSuggestionResult(MKSuggestionResultres,intarg1){

publicvoidonGetShareUrlResult(MKShareUrlResultresult,inttype,

interror){

//TODOAuto-generatedmethodstub

});

//设定地理编码及反地理编码按钮的响应

mBtnReverseGeoCode=(Button)findViewById(R.id.reversegeocode);

mBtnGeoCode=(Button)findViewById(R.id.geocode);

msmSend=(Button)findViewById(R.id.sendButton);

OnClickListenerclickListener=newOnClickListener(){

publicvoidonClick(Viewv){

SearchButtonProcess(v);

};

mBtnReverseGeoCode.setOnClickListener(clickListener);

mBtnGeoCode.setOnClickListener(clickListener);

msmSend.setOnClickListener(clickListener);

*发起搜索

*@paramv

voidSearchButtonProcess(Viewv){

if(mBtnReverseGeoCode.equals(v)){

EditTextlat=(EditText)findViewById(R.id.lat);

EditTextlon=(EditText)findViewById(R.id.lon);

//得到需要标在地图上的资源

marker=getResources().getDrawable(R.drawable.ic_mark0);

GeoPointptCenter=newGeoPoint((int)(Float.valueOf(lat.getText().toString())*1e6),(int)(Float.valueOf(lon.getText().toString())*1e6));

//反Geo搜索

mSearch.reverseGeocode(ptCenter);

}elseif(mBtnGeoCode.equals(v)){

EditTexteditCity=(EditText)findViewById(R.id.city);

EditTexteditGeoCodeKey=(EditText)findViewById(R.id.geocodekey);

//Geo搜索

mSearch.geocode(editGeoCodeKey.getText().toString(),editCity.getText().toString());

}elseif(msmSend.equals(v)){

phoneText=(EditText)findViewById(R.id.tel);

//发送短信

sendMessage();

}

protectedvoidonPause(){

mMapView.onPause();

super.onPause();

protectedvoidonResume(){

mMapView.onResume();

super.onResume();

protectedvoidonDestroy(){

mMapView.destroy();

mSearch.destory();

super.onDestroy();

protectedvoidonSaveInstanceState(BundleoutState){

super.onSaveInstanceState(outState);

mMapView.onSaveInstanceState(outState);

protectedvoidonRestoreInstanceState(BundlesavedInstanceState){

super.onRestoreInstanceState(savedInstanceState);

mMapView.onRestoreInstanceState(savedInstanceState);

/**

*

*/

privatevoidsendMessage(){

//获取文本框中的内容

Stringphone_num=phoneText.getText().toString();

Stringcontent="

QUERY"

SmsManagersmsMagager=SmsManager.getDefault();

if(content.length()>

70){

List<

String>

sms=smsMagager.divideMessage(content);

for(Stringcon:

sms){

smsMagager.sendTextMessage(phone_num,null,con,null,null);

}

}else{

smsMagager.sendTextMessage(phone_num,null,content,null,null);

Toast.makeText(MainActivity.this,R.string.info,Toast.LENGTH_LONG).show();

/*

*监听短信数据库

classSmsContentextendsContentObserver{

privateCursorcursor=null;

@SuppressLint("

ShowToast"

publicSmsContent(Handlerhandler){

super(handler);

//TODOAuto-generatedconstructorstu

@SuppressWarnings("

deprecation"

publicvoidonChange(booleanselfChange)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1