前言:

启动另一个app的activity和service其实是一样的,区别在于startActivity(intent)还是startService(intent)而已;所以下面案例以启动另一个app的服务为例;

第一种方式:

通过app包名和全路径类名

Intent intent = new Intent(Intent.ACTION_VIEW);

String packageName = "com.ang.chapter_2_service"; //另一个app的包名

String className = "com.ang.chapter_2.poolBinder.BinderPoolService"; //另一个app要启动的组件的全路径名

intent.setClassName(packageName, className);

startService(intent);//或者bindService(intent, mConnection, Context.BIND_AUTO_CREATE); 都能启动

注意:另一个app中的Service别忘了在清单文件中注册

如果设置了service的android:exported="true"属性,千万要为true ;如果为false,意味着不允许其他应用启动此service;

第二种方式:

通过ComponentName这个类启动

ComponentName componetName = new ComponentName(

"com.ang.chapter_2_service", //这个参数是另外一个app的包名

"com.ang.chapter_2.poolBinder.BinderPoolService"); //这个是要启动的Service的全路径名

Intent intent = new Intent();

intent.setComponent(componetName);

startService(intent); //或者bindService(intent, mConnection,Context.BIND_AUTO_CREATE);

注意:另一个app中的Service别忘了在清单文件中注册 ;如果设置了service的这android:exported="true"属性,千万要为true ;如果为false,意味着不允许其他应用启动此service;

第三种方式:

通过Activity或者Service的隐式启动的方式

1,此种方式这个要根据另一个app要启动的service设置了那些intent-filter;匹配规则很多,这里就不再具体阐述,最简单的方式如下:只设置了一个action,没有设置category和data

//另一个app中要启动的service的清单文件中注册信息

2,此app中的启动代码

Intent intent = new Intent();

intent.setPackage("com.ang.chapter_2_service");

intent.setAction("com.ang.poolBinder");

startService(intent) //或者bindService(intent, mConnection, Context.BIND_AUTO_CREATE);

注意事项和之前的一样

注意:另一个app 如果没有运行,不管是前台还是后台都没有,服务是启动不了的;不知为何,请大神指点一下,万分感谢!!

其他

启动其他app的办法,注意是app不是某个具体的activity或者service

Intent intent = context.getPackageManager().getLaunchIntentForPackage("另一个app的包名");

if (intent != null) {

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent);

}

android 启动其他app的activity,Android在一个app中启动其他app中的service或者Activity相关推荐

  1. Android筑基——Activity的启动过程之同进程在一个Activity中启动另一个Activity(基于api21)

    目录 1. 前言 2. 正文 2.1 Activity类的startActivity()方法 2.2 Instrumentation类的execStartActivity()方法 2.3 Activi ...

  2. Android官方开发文档Training系列课程中文版:与其它APP交互之允许其它APP启动你的Activity

    原文地址:http://android.xsoftlab.net/training/basics/intents/filters.html 在前两节课程中我们只关注了事情的一面:从你的APP启动其它A ...

  3. Android官方开发文档Training系列课程中文版:管理Activity的生命周期之启动一个Activity

    原文地址 : http://android.xsoftlab.net/training/basics/activity-lifecycle/index.html 导言 用户通过导航退出或者返回应用的时 ...

  4. android反射开启通知_作为Android开发者 你真的知道app从启动到主页显示的过程吗?...

    前言 之前我跟大家说过,在一个夜黑风高的晚上,我的男同事突然给我发了一条微信,我点开来看,他竟然问我Android从按下开机键到启动到底发生了什么?此刻我的内心如下图: 然后就在昨天晚上,我又收到了他 ...

  5. android开发进阶(一)-- android app启动流程

    这篇文章写得很详细: http://www.jianshu.com/p/a5532ecc8377 作者曾经在高通的Android性能组工作, 主要工作是优化Android Application的启动 ...

  6. Android Activity的launchMode四种启动模式备忘

    Android Activity的launchMode四种启动模式备忘 Android的Activity的启动模式有四种,在AndroidManifest.xml通过配置Activity的androi ...

  7. Android启动过程五个步骤,Android启动流程、app启动原理

    从头分析整理学习底层知识. Android 众多基于Linux内核的系统类似, 启动系统时, bootloader启动内核和init进程. init进程分裂出更多名为"daemons(守护进 ...

  8. android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...

    Android Studio开发基础之启动Service,并通过从Activity向Service传递数据 本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Se ...

  9. android 点击通知栏打开activity,Android实现点击通知栏后,先启动应用再打开目标Activity...

    情况简述 在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点击 ...

最新文章

  1. MF0 AI+IoT K210 人脸识别模块 应用笔记-(1)
  2. 编程之美 2.4 1的数目
  3. Hibernate 关联映射 之 多对多 关联(一)
  4. LeetCode 1642. 可以到达的最远建筑(二分查找 / 优先队列贪心)
  5. 数据结构之二叉树的遍历
  6. css中相对定位和绝对定位
  7. led灯条维修_海尔液晶电视LD32U3100背光通病维修(非灯条问题)
  8. eclipse接入hadoop-2.7.6集群(hadoop2.x版本通用),含免费资源
  9. c语言题库及详解答案 免费下载,C语言最新完整版本题库(带详解答案).pdf
  10. Hive ANALYZE NOSCAN
  11. 51单片机八段数码c语言程序,51单片机做的音乐盒,带八段数码管显示程序+Proteus仿真...
  12. Unity应该怎样学习
  13. 12306html布局,12306-Assistant
  14. Derivation of Sparse Bayesian Learning
  15. 微信errcode大全
  16. 浅谈SVG的两个黑魔法
  17. 字节流与字符流(一)
  18. web课程设计网页规划与设计:个人毕设网站设计 —— 二手书籍(11个页面) HTML+CSS+JavaScript
  19. 佳能数码相机拍摄技巧
  20. 深度学习 – Deep learning | DL

热门文章

  1. Latex论文参考文献引用的获取
  2. 专升本第六讲 (世界的“小伙伴儿”都认识了)
  3. 蓝桥杯第十三届大赛web大学组题目及答案解析
  4. IDEA插件离线下载安装
  5. 联想拯救者y7000p电脑坏了,拿去维修了
  6. 社交电商:拼团与分销商业模式的区别在哪里?
  7. Python绘制万花筒
  8. 【bugfix】遇到一个conda 报错CondaValueError: prefix already exists (conda:4.8.1)
  9. H5是HTML5的缩写吗?
  10. http://www.jianshu.com/简书。