深入学习百度地图Android(安卓)SDK v4.0.0【第十关】短链分享
16lz
2021-01-26
有的时候我们需要把自己所在的位置信息分享给朋友让其知道,方便对方来寻找自己!所以百度提供的短链分享还是非常有用的!
package cq.cake.chwl.ui;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import com.baidu.mapapi.search.core.PoiInfo;import com.baidu.mapapi.search.poi.OnGetPoiSearchResultListener;import com.baidu.mapapi.search.poi.PoiCitySearchOption;import com.baidu.mapapi.search.poi.PoiDetailResult;import com.baidu.mapapi.search.poi.PoiIndoorResult;import com.baidu.mapapi.search.poi.PoiResult;import com.baidu.mapapi.search.poi.PoiSearch;import com.baidu.mapapi.search.share.OnGetShareUrlResultListener;import com.baidu.mapapi.search.share.PoiDetailShareURLOption;import com.baidu.mapapi.search.share.ShareUrlResult;import com.baidu.mapapi.search.share.ShareUrlSearch;import java.util.List;import cq.cake.base.BaseToolbarMapActivity;import cq.cake.chwl.R;import cq.cake.util.L;public class ShareActivity extends BaseToolbarMapActivity { ShareUrlSearch mShareUrlSearch; PoiSearch mPoiSearch; List allPoi; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_share); init(); } private void init() { getUID(); //1.创建分享检索实例 mShareUrlSearch = ShareUrlSearch.newInstance(); //2.创建分享检索监听者 OnGetShareUrlResultListener listener = new OnGetShareUrlResultListener() { public void onGetPoiDetailShareUrlResult(ShareUrlResult result) { //分享POI详情 L.i("分享的短链=="+result.getUrl()); sendUrl(ShareActivity.this,""+allPoi.get(result.describeContents()).name,result.getUrl()); } public void onGetLocationShareUrlResult(ShareUrlResult result) { //分享位置信息 } @Override public void onGetRouteShareUrlResult(ShareUrlResult shareUrlResult) { } }; //3.设置分享检索监听者 mShareUrlSearch.setOnGetShareUrlResultListener(listener); } public static void sendUrl(Context conxtext, String text, String url) { Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, text + "\n" + url); sendIntent.setType("text/plain"); conxtext.startActivity(sendIntent); } private void getUID() { mPoiSearch = PoiSearch.newInstance(); mPoiSearch.setOnGetPoiSearchResultListener(new OnGetPoiSearchResultListener() { @Override public void onGetPoiResult(PoiResult poiResult) { allPoi = poiResult.getAllPoi(); String uid = allPoi.get(0).uid; mShareUrlSearch.requestPoiDetailShareUrl(new PoiDetailShareURLOption().poiUid(uid)); } @Override public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) { } @Override public void onGetPoiIndoorResult(PoiIndoorResult poiIndoorResult) { } }); } @Override protected void onDestroy() { super.onDestroy(); mShareUrlSearch.destroy(); mPoiSearch.destroy(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_poi_share, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); switch (itemId) { case R.id.menu1: //先检索出来位置信息,然后分享位置 mPoiSearch.searchInCity((new PoiCitySearchOption()) .city("重庆") .keyword("渝中区大坪") .pageNum(10)); break; } return super.onOptionsItemSelected(item); }}
更多相关文章
- 【转】使用Intent将图片或文字分享到新浪微博等程序
- singleLine=”true” 和 maxLines=”1″
- android数据提供者ContentProvider
- android setCompoundDrawables和setCompoundDrawablesWithIntrin
- android Google Map获取地理位置信息的方法
- Android(安卓)ViewPager轮播图
- Android(安卓)APP - GPS定位并获取地理位置
- Android(安卓)中文 API 文档 (45) —— AbsoluteLayout.LayoutPara
- [android] ScrollView 设置滚动条的初始位置