两个app之间怎么调用?
 
(1):通过显示Intent 启动
   首先:配置好B app 的action,即AndroidManifest.xml中声明
<intent-filter>
    <action android:name="com.itlanbao.app.MainActivity"/>
</intent-filter>

A app 调用需要知道B app对应的action
通过如下方法调用:

Intent Intent = new Intent();
intent.setClassName("com.itlanbao.app", "com.itlanbao.app.MainActivity");
startActivity(intent);

(2):隐式的Intent来启动方式
比如调用打电话功能:
1.Uri number = Uri.parse("tel:5551234");
2.Intent callIntent = new Intent(Intent.ACTION_DIAL, number); 
浏览网页:
Uri webpage = Uri.parse("http://www.android.com");
Intent webIntent = new Intent(Intent.ACTION_VIEW, webpage);
此外,我们在定义我们的Intent的时候,要尽可能的详细,例如我们希望调用系统的图片查看器浏览图片,我们应该定义MIME type" image/*.",以防止会启动map app进行查看。而且如果没有app来响应我们的请求,我们的app就会崩溃。
       
因此为了防止我们的app发送intent没有其他app来响应而导致应用异常退出,我们在发送intent前进行验证。为了验证是否有app的
Activity来响应我们的Intent请求,我们需要调用queryIntentActivities()来进行验证。这个方法会返回一个list,

我们通过判断list是否为空来验证,这样我们可以安全的使用Intent来实现不同App之间Activity的交互。如果没有响应的Acitivty
来响应,我们可以提供一些链接给用户进行下载安装
PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0);
boolean isIntentSafe = activities.size() > 0;

文章来自IT蓝豹,感谢原创作者的辛勤付出!

请转发标明出处:www.itlanbao.com

最新文章

  1. 轻量级前端MVVM框架avalon - 模型转换
  2. 展讯camera去除尺寸相关缓存
  3. angularjs获取参数方法
  4. windows 下配置 Nginx 常见问题(转)
  5. 【海岛帝国系列赛】No.4 海岛帝国:LYF的太空运输站
  6. SPOJ 7758. Growing Strings AC自动机DP
  7. 基于51,人体红外感应和RC522的门禁系统
  8. iOS语音合成
  9. hdu 4251 划分树
  10. [BZOJ 3669] [Noi2014] 魔法森林 【LCT】
  11. 失物招领发布-HTML5调摄像头
  12. 破解Kaleidoscope-2.1.0-134,无限试用
  13. Windows下安装Anaconda
  14. ZOJ Problem Set - 1730 Crazy Tea Party
  15. python之模块pydoc
  16. es6比es5节省代码的地方总结
  17. Android Studio - No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
  18. Java基础(一):简介
  19. nginx 点播mp4方法
  20. (转)Cobbler自动化部署最佳实践

热门文章

  1. [JavaScript]JS由来
  2. jQuery的编码标准和最佳实践
  3. Laravel学习笔记(三)数据库 数据库迁移
  4. [JavaScript]配置日期选择控件
  5. Magic xpa 2.5发布 Magic xpa 2.5 Release Notes
  6. javascript_this的用法
  7. Bootstrap框架(基础篇)之按钮,网格,导航栏,下拉菜单
  8. MonkeyRunner测试一MonkeyRunner的使用
  9. leetcode-【hard】273. Integer to English Words
  10. Spark Streaming架构设计和运行机制总结