App内部启动,这种方式常用于App自己重启,主要通过获取launcher intent启动。

Intent intent = getBaseContext().getPackageManager()

.getLaunchIntentForPackage(getBaseContext().getPackageName());

startActivity(intent);

根据包名及launcher activity的类名启动,这种情况适用于知道包名及类名的情况,如一下代码根据包名及launcher activity类名启动微信。需要注意的是,如果应用没安装或者activity类名错误这种方法将抛出异常,因此需要使用try catch语句捕获异常。

try {

Intent intent = new Intent();

ComponentName cmp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI");

intent.setAction(Intent.ACTION_MAIN);

intent.addCategory(Intent.CATEGORY_LAUNCHER);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setComponent(cmp);

mContext.startActivity(intent);

} catch (ActivityNotFoundException e) {

Toast.makeText(mContext,"您尚未安装微信,请先安装微信!").show();

}

隐式启动,这种方式适用于不知道包名的情况,只需根据intent 的action即可启动应用,并且可以通过intent传递参数,例如下面启动短信app的示例:

try {

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setType("vnd.android-dir/mms-sms");

intent.putExtra("sms_body", contnt);

mContext.startActivity(intent);

} catch (ActivityNotFoundException e) {

Toast.makeText(mContext, 您尚未安装短信App,请先安装短信App!, Toast.LENGTH_SHORT).show();

}

这种方式同样需要使用try catch语句捕获应用未安装或者处理对应intent的activity不存在的异常。

启动app android,android 启动App的三种方式相关推荐

  1. Android获取当前位置的三种方式及其使用方法

    1.GPS定位 2.基站定位 此类位置的获取有赖于手机无线通讯信号,当手机处在信号覆盖范围内,手机可以获得该区域(即通讯术语中的"小区")的识别号.因为这些识别号是惟一的,因此可以 ...

  2. android中多渠道打包的三种方式

    转载至:一片枫叶的专栏 国内的Android开发者还是很苦逼的,由于众所周知的原因,google play无法在国内打开(翻墙的就不在考虑之内了),所以Android系的应用市场,群雄争霸.后果就是国 ...

  3. 【Android】触发按钮的三种方式

    方法1 通过id绑定点击监听 实现 findViewById(R.id.home_button).setOnClickListener(new View.OnClickListener() {@Ove ...

  4. android 播放rtsp流的三种方式

    使用VideoView <VideoViewandroid:id="@+id/surface_view"android:layout_width="250dp&qu ...

  5. Android利用android:indeterminateDrawable来实现ProgressBar三种方式

    方式1:(效果为补间动画一样) [html] view plaincopyprint? <ProgressBar android:layout_width="wrap_content& ...

  6. 【android】绘制圆环的三种方式

    在android中要绘制圆环,暂时知道有三种方式.分别是: 一.设置画笔的style为stoke,绘制圆 这里是先绘制内圆,然后绘制圆环(圆环的宽度就是paint设置的paint.setStrokeW ...

  7. convert android layout xml,详解Android之解析XML文件三种方式(DOM,PULL,SAX)

    1.xml文件代码 ${fq.content} ${fq.time} 2.XML网页效果图 3.Android代码 1.布局文件 xmlns:tools="http://schemas.an ...

  8. android 加阴影,Android设置控件阴影的三种方式

    释放双眼,带上耳机,听听看~! 第一种方式:elevation View的大小位置都是通过x,y确定的,而现在有了z轴的概念,而这个z值就是View的高度(elevation),而高度决定了阴影(sh ...

  9. android获取自定义属性,android 自定义控件中获取属性的三种方式(转)

    第一种方法,直接设置属性值,通过attrs.getAttributeResourceValue拿到这个属性值. (1)在xml文件中设置属性值 android:layout_width="f ...

  10. android xml解析的三种方式

    2019独角兽企业重金招聘Python工程师标准>>> 在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式.最近做了 ...

最新文章

  1. 《逻辑与计算机设计基础(原书第5版)》——1.2 计算机系统设计的抽象层次...
  2. python无法安装第三方库read time out_pip 或 conda 安装第三方库超时(Read timed out)问题...
  3. hadoop API之:文件操作
  4. libinject的编译
  5. Java enum(枚举)的用法详解(转)
  6. Linux内核之数据双链表
  7. CSS修改iframe内的样式问题
  8. 蓝字冲销是什么意思_会计做帐中用红字和蓝字代表的意思是什么
  9. BGLL算法 C++实现
  10. 单细胞及空间转录组设计分析与机器学习在生物医学应用
  11. 【科研绘图】-C4D搭建石墨烯
  12. MPB:青岛大学苏晓泉组分享基于分类学和系统发育的宏基因组比较DMS算法
  13. [分享]ERP实施工程师笔试题目
  14. 国内linux内核代码贡献率,[图]AMD为Linux内核贡献27.5万行代码 确认Van Gogh APU支持DDR5和VCN3...
  15. C语言 上机课练习题
  16. python参考书推荐--父与子的编程之旅
  17. 正面杠腾讯音乐与网易云音乐,抖音与快手谁能“弯道超车“?
  18. Discuz!NT 代码阅读笔记(8)--DNT的几个分页存储过程解析
  19. 360android文件恢复,删除的文件怎么恢复?360删除的文件怎么恢复?
  20. 如何进行代码REVIEW

热门文章

  1. win7计算机引用账户被锁定,win7引用的账户当前已锁定
  2. 华为交换机与华为交换机ping通基本方式
  3. android zip解压进度_android zip4j之--解压zip文件并实时显示解压进度
  4. RecycledView三种Linear,Grid,Staggered
  5. SSH和SFTP服务分离
  6. [牛客网#35D 树的距离]离散化+线段树合并
  7. 秒搞VirtualBox 、CentOS 的安装过程
  8. python中continue的意义是_Python中的continue是什么
  9. 特征提取算法(1)——纹理特征提取算法LBP
  10. js php 实时更新数字,js实现股票实时刷新数据案例