返回顶部
首页 > 资讯 > 精选 >Android开发中怎么启动另一个应用中的Activity
  • 771
分享到

Android开发中怎么启动另一个应用中的Activity

androidroiactivity 2023-05-31 05:05:44 771人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关Android开发中怎么启动另一个应用中的Activity,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Android 启动另一个App/apk中的Activit

这篇文章将为大家详细讲解有关Android开发中怎么启动另一个应用中的Activity,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Android 启动另一个App/apk中的Activity

前言:

Android提供了在一个App中启动另一个App中的Activity的能力,这使我们的程序很容易就可以调用其他程序的功能,从而就丰富了我们App的功能。比如在微信中发送一个位置信息,对方可以点击这个位置信息启动腾讯地图并导航。这个场景在现实中作用很大,尤其是朋友在陌生的环境找不到对方时,这个功能简直就是救星。

本来想把本文的名字叫启动另一个进程中的Activity,觉得这样才有逼格。因为每个App都会运行在自己的虚拟机中,每个虚拟机跑在一个进程中。但仔细一想,能够称为一个进程,前提是这个App必须要运行起来才行。而Android提供的能力,是不需要另一个App启动就可以将其特定的Activity启动起来的。

我们有至少两种办法达到启动另一个App中的Activity,

第一种用action启动,详情见我之前的文章《启动自己另一个程序的activity》。

第二种用intent设置className或component的办法启动

举例如下。新建两个项目ProjectA和ProjectB,用B中的MainActivity启动A的MainActivitity。关键代码如下:

ProjectB MainActivity

 public void OnStartActivityClicked(View view) {  Intent intent = new Intent(Intent.ACTioN_VIEW);  String packageName = "com.lazytech.projecta";  String className = "com.lazytech.projecta.MainActivity";  intent.setClassName(packageName, className);  //second method//  intent.setComponent(new ComponentName(//    "com.lazytech.projecta",//    "com.lazytech.projecta.MainActivity"//  ));  Bundle bundle = new Bundle();  bundle.putString("msg", "this message is from project B ");  intent.putExtras(bundle);  intent.putExtra("pid", android.os.Process.myPid());  startActivityForResult(intent, 1);//  startActivity(intent); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {  super.onActivityResult(requestCode, resultCode, data);  switch (requestCode) {   case 1:    if(resultCode == RESULT_OK) {     textView.setText(data.getStringExtra("result"));    }    break;  } }

--结束END--

本文标题: Android开发中怎么启动另一个应用中的Activity

本文链接: https://lsjlt.com/news/223689.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作