安卓随手笔记四:(判断第三方app是否安装并启动)
2014-06-13 19:30
204 查看
话说今晚西班牙队与荷兰队,很是期待啊!
为什么会判断第三方app是否安装呢?比如,我们在某个应用中获取到用户当前位置的经度纬度,然后呢,想要在百度地图中把这个位置给显示出来,那么我们就要先判断是否安装百度地图,然后才是启动第三方app
目前生活中,比较常用的是百度地图和高德地图
判断是否安装了某个app,我们是通过包名检测系统中是否安装了某个应用程序
/**
* 判断手机是否安装百度或者高德地图 只要安装一个即可
*/
private boolean ifInstallMap() {
return isPackageInstalled(this, "com.autonavi.minimap")
|| isPackageInstalled(this, "com.baidu.BaiduMap");
}
private boolean isPackageInstalled(Context c, String pn) {
PackageManager packageManager = c.getPackageManager();
try {
PackageInfo pi = packageManager.getPackageInfo(pn,PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
if (null != pi) {
return true;
}
} catch (NameNotFoundException e) {
e.printStackTrace();
return false;
}
return false;
}
上面的com.autonavi.minimap是高德地图的包名,com.baidu.BaiduMap是百度地图的包名。
然后是启动第三方app
Intent intent = new Intent(Intent.ACTION_VIEW);
if (TextUtils.isEmpty(经度)|| TextUtils.isEmpty(维度)) {// 如果获取到的为空
Toast.makeText(this, "获取位置失败", Toast.LENGTH_SHORT).show();
} else {
String locationSplitString = "geo:" + 经度+ "," + 维度;
if (ifInstallMap()) {// 高德地图或者百度地图至少安装之一
Uri uri = Uri.parse(locationSplitString);
intent.setData(uri);
startActivity(intent);
} else {
Toast.makeText(this, "请先安装地图", Toast.LENGTH_SHORT).show();
}
}
这样就在百度地图或者高德地图中显示出了传入的经度和维度所在的位置
为什么会判断第三方app是否安装呢?比如,我们在某个应用中获取到用户当前位置的经度纬度,然后呢,想要在百度地图中把这个位置给显示出来,那么我们就要先判断是否安装百度地图,然后才是启动第三方app
目前生活中,比较常用的是百度地图和高德地图
判断是否安装了某个app,我们是通过包名检测系统中是否安装了某个应用程序
/**
* 判断手机是否安装百度或者高德地图 只要安装一个即可
*/
private boolean ifInstallMap() {
return isPackageInstalled(this, "com.autonavi.minimap")
|| isPackageInstalled(this, "com.baidu.BaiduMap");
}
private boolean isPackageInstalled(Context c, String pn) {
PackageManager packageManager = c.getPackageManager();
try {
PackageInfo pi = packageManager.getPackageInfo(pn,PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
if (null != pi) {
return true;
}
} catch (NameNotFoundException e) {
e.printStackTrace();
return false;
}
return false;
}
上面的com.autonavi.minimap是高德地图的包名,com.baidu.BaiduMap是百度地图的包名。
然后是启动第三方app
Intent intent = new Intent(Intent.ACTION_VIEW);
if (TextUtils.isEmpty(经度)|| TextUtils.isEmpty(维度)) {// 如果获取到的为空
Toast.makeText(this, "获取位置失败", Toast.LENGTH_SHORT).show();
} else {
String locationSplitString = "geo:" + 经度+ "," + 维度;
if (ifInstallMap()) {// 高德地图或者百度地图至少安装之一
Uri uri = Uri.parse(locationSplitString);
intent.setData(uri);
startActivity(intent);
} else {
Toast.makeText(this, "请先安装地图", Toast.LENGTH_SHORT).show();
}
}
这样就在百度地图或者高德地图中显示出了传入的经度和维度所在的位置
相关文章推荐
- 手机浏览器判断app是否安装并启动
- web页面判断是否安装某app,从web启动app应用
- 网页判断判断是否安装APP并启动,没有安装就跳转到下载页面
- iOS-判断是否安装某个App并从另一个App中启动该App(未安装跳转到AppStore)
- iOS--判断App是否第一次安装启动
- 【Android】判断某个App是否安装并启动(queryIntentActivities),
- iOS_如何判断是否安装某个App并从另一个App中启动该App(未安装跳转到AppStore)
- iOS系统下检查第三方APP是否安装及跳转启动
- iOS_如何判断是否安装某个App并从另一个App中启动该App(未安装跳转到AppStore)
- safari中判断app是否安装
- c# 安装、注册windows service服务,判断服务是否存在,是否启动
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- 手机浏览器下判断是否安装某app,并判断是否打开该应用
- JS判断手机端是否安装了某个客户端APP应用
- android 安装apk文件,启动android程序,判断某个程序是否安装,遍历所有已经安装额程序
- 用于deeplink的js方法(判断手机是否安装app)
- JS判断手机端是否安装了某个客户端APP
- 如何判断是否安装了sqlserver,如何判断sqlserver是否启动,,如何启动sqlserver