博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android检查手机上是否安装了第三方软件的方法------本文以百度地图为例
阅读量:6985 次
发布时间:2019-06-27

本文共 3125 字,大约阅读时间需要 10 分钟。

package com.example.myapi.thirdbaidumap;import java.net.URISyntaxException;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import com.example.myapi.R;/** * 测试程序跳转到第三方地图,并将数据传递过去。 * @author tony * */public class ThirdBaiduMapTestActivity extends Activity implements OnClickListener{    private Button btn_test;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.thirdbaidumaptest);        btn_test = (Button)findViewById(R.id.baidu_btn_test);        btn_test.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch(v.getId()){        case R.id.baidu_btn_test:            //如果已安装,                        if(isAvilible(this,"com.baidu.BaiduMap")){
//传入指定应用包名 Intent intent = null; try {// intent = Intent.getIntent("intent://map/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving&region=西安&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end"); intent = Intent.getIntent("intent://map/direction?" + "origin=大柏树&" + "destination=江湾镇" + "&mode=driving&" + "region=上海市" + "&src=yourCompanyName|yourAppName#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end"); startActivity(intent); //启动调用 } catch (URISyntaxException e) { Log.e("intent", e.getMessage()); } }else{
//未安装 //market为路径,id为包名 //显示手机上所有的market商店 Uri uri = Uri.parse("market://details?id=com.baidu.BaiduMap"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); } break; } } /** * 检查手机上是否安装了指定的软件 * @param context * @param packageName:应用包名 * @return */ private boolean isAvilible(Context context, String packageName){ //获取packagemanager final PackageManager packageManager = context.getPackageManager(); //获取所有已安装程序的包信息 List
packageInfos = packageManager.getInstalledPackages(0); //用于存储所有已安装程序的包名 List
packageNames = new ArrayList
(); //从pinfo中将包名字逐一取出,压入pName list中 if(packageInfos != null){ for(int i = 0; i < packageInfos.size(); i++){ String packName = packageInfos.get(i).packageName; packageNames.add(packName); } } //判断packageNames中是否有目标程序的包名,有TRUE,没有FALSE return packageNames.contains(packageName); } }

 

转载地址:http://unmpl.baihongyu.com/

你可能感兴趣的文章
根据id查询数据(向前台返回json格式的数据)
查看>>
JMeter中3种参数值的传递
查看>>
hive操作语句使用详解
查看>>
根据指定类型计算两个日期相差的时间
查看>>
【转】【Linux】linux awk命令详解
查看>>
EasyUI ---- draggable购物车
查看>>
Jdom读取XML文件
查看>>
Spring Boot 配置文件 – 在坑中实践
查看>>
研究技术心得
查看>>
在windows搭建jenkins測试环境
查看>>
Inspect a new tab · cyrus-and/chrome-remote-interface Wiki
查看>>
高中毕业,我想去看看-屌丝程序员的逆袭之旅
查看>>
【分片无法挂载】Elasticsearch分片和副本无法挂载(分片移位)
查看>>
免费创建微信公众号全攻略
查看>>
javascript中实现sleep函数
查看>>
NetStateReceiver【监听网路状态变化】
查看>>
vue-cli生成的项目配置开发和生产环境不同的接口
查看>>
ionic 001
查看>>
@params、@PathVariabl和@RequestParam用法与区别
查看>>
wxPython 4.0.0b2安装
查看>>