Android启动应用相关知识

原创 2016年08月30日 11:02:14

GitHub源码

根据包名启动应用

    private void startAppByPkgName(String pkgName){
        Intent intent =null;

        intent = mContext.getPackageManager().getLaunchIntentForPackage(pkgName);

        if(intent != null){
            mContext.startActivity(intent);
        }
    }

根据Uri启动应用

    /**
     * 打开应用
     * @param activity
     * @param intent
     */
    public static boolean openApp(Activity activity, Intent intent) {
        try {
            activity.startActivityIfNeeded(intent, -1);
            return true;
        } catch (ActivityNotFoundException ex) {
            ex.printStackTrace();
        } catch (SecurityException ex) {
            ex.printStackTrace();
        }
        return false;
    }

    /**
     * 通过url启动应用
     * @param activity
     */

    public static boolean startActivityByUrl(Activity activity){
        //启动电话
        //String url = "tel:123456789";
        //如果安装了唯品会应用,启动唯品会
        String url = "vipshop://goHome?f=fx&tra_from=tra%3Awvpeo8om%3Anm5fj2y6%3Aq15uwfdz%3Agtpgmchu%3A%3A4gl0mmyi%3A%3A3739c1c4dd4d4e78889982e23609e056";
        Intent intent = null;
        try {
            intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }

        if(activity.getPackageManager().resolveActivity(intent, 0) != null){
            return openApp(activity, intent);
        }else{
            String packagename = intent.getPackage();
            if (packagename != null) {
                intent = new Intent(Intent.ACTION_VIEW, Uri
                        .parse("market://search?q=pname:" + packagename));
                intent.addCategory(Intent.CATEGORY_BROWSABLE);
                try {
                    activity.startActivity(intent);
                } catch (ActivityNotFoundException e) {
                    e.printStackTrace();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return true;
            } else {
                return false;
            }
        }
    }
版权声明:转载请注明出处

android中处理json最佳方法

在android中处理json,采用google的gson框架,gson是google开源的一个项目。只需将gson.jar导入项目中即可!暂时没找到上传附近的地方在哪里? 下面给出事例代码: ...
  • jdsjlzx
  • jdsjlzx
  • 2012年04月26日 14:05
  • 2573

android知识点之-----.9图片的制作

Android .9图片的制作 最近项目不忙,闲暇时间很多,于是开始对于我的Android知识点的回头看,对于之前的没有涉及的东西进行一个新的学习与查漏补缺,今天主要学习的是Android.9图片的...
  • m0_37550680
  • m0_37550680
  • 2017年12月14日 15:00
  • 32

Android开发知识概要

Android简要Android一词最早出现在法国作家维里耶德利尔·亚当1986年发表的《未来夏娃》这部科幻小说中,作者利尔·亚当将外表像人类的机器起名为Android。这就是Android小人名字的...
  • u013647453
  • u013647453
  • 2017年07月11日 22:42
  • 160

解读Android之Activity(1)基础知识

本文翻译自android官方文档,结合自己测试,整理如下。主要内容包括:创建Activity,实现用户接口,在manifest文件中声明Activity,使用intent filters,启动Acti...
  • wangyongge85
  • wangyongge85
  • 2015年08月25日 12:01
  • 61815

android sqlite入门知识

android sqlite入门知识
  • coderinchina
  • coderinchina
  • 2017年01月22日 16:44
  • 609

网络的使用-安卓基础知识整理

Android开发中网络技术的使用(使用HttpURLConnection、OkHttp) JSON格式数据的处理(用JSONObject、GSON进行解析)...
  • qq_38333853
  • qq_38333853
  • 2017年07月22日 11:11
  • 119

linux设备驱动第一篇:基础知识点

首先,我们知道驱动是内核的一部分,那么驱动在内核中到底扮演了什么角色呢? 设备驱动程序在内核中的角色:他们是一个个独立的“黑盒子”,使某个特定的硬件响应一个定义良好的内部编程接口,这些接口完全隐...
  • lihui130135
  • lihui130135
  • 2015年03月29日 14:08
  • 915

工作中关于浏览器相关知识的总结

一、简介       网站是使用HTML、CSS、JS等技术实现静态页面展示的(静态页面:尚未和服务器、数据库交互),代码存放在服务器上,客户端使用应用软件(浏览器)提交对服务器端资源的请求。 浏览器...
  • GistTAT
  • GistTAT
  • 2017年09月13日 15:50
  • 122

二进制相关知识

补码 在计算机中,整数是以补码的形式保存的。在补码的保存方式中,最高位为符号位,最高位为0表示正数,最高位为1表示负数。正数的补码是把十进制正数数据转换为二进制的形式;负数的补码,是把负数绝...
  • hgd613
  • hgd613
  • 2014年07月19日 16:36
  • 1113

JavaWeb学习笔记(一)---Web相关知识和HTTP协议

一、Web相关知识 1.Web资源 Internet上供外界访问的web资源分为: (1)静态web资源(如html页面):web页面中供人们浏览的数据始终不变。 (2)动态web:web页面...
  • Yolanda_NuoNuo
  • Yolanda_NuoNuo
  • 2016年01月17日 22:06
  • 1181
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android启动应用相关知识
举报原因:
原因补充:

(最多只允许输入30个字)