文章目录

  • 一、应用A中点击按钮,跳转到应用B
  • 二、应用A中点击按钮,跳转到应用B中的指定Activity——(scheme方式)
    • 1.应用A中,点击按钮
    • 2.应用B中,AndroidManifest.xml的配置如下
    • 3.在应用B中,WCDBActivity中可获取应用A中传递过来的数据
  • 三、应用A点击按钮,跳转到应用B的指定Activity——(指定包名和Activity全路径)
    • 1.应用A中,点击
    • 2.应用B中,AndroidManifest.xml需要修改
  • 四、通过浏览器打开Android App 应用
    • 1、首先做成HTML的页面,页面内容格式例如以下:
    • 2、app应用中,待打开的Activity在AndroidManifest.xml的配置如下:
    • 3、接下来在Activity中须要取值的地方加入下面代码:

一、应用A中点击按钮,跳转到应用B

备注:这里是默认启动应用B的启动页面

// 通过包名获取要跳转的app,创建intent对象
Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.db_demo");// 这里如果intent为空,就说名没有安装要跳转的应用嘛
if (intent != null) {                            // 这里跟Activity传递参数一样的嘛,不要担心怎么传递参数,还有接收参数也是跟Activity和Activity传参数一样//                            intent.putExtra("name", "Liu xiang");//                            intent.putExtra("birthday", "1983-7-13");                            startActivity(intent);
} else {                            // 没有安装要跳转的app应用,提醒一下                            ToastUtils.success("哟,赶紧下载安装这个APP吧");
}

二、应用A中点击按钮,跳转到应用B中的指定Activity——(scheme方式)

1.应用A中,点击按钮

startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("scheme_db://123123123")));

2.应用B中,AndroidManifest.xml的配置如下

<activity android:name=".ui.WCDBActivity"    android:launchMode="singleInstance"> //多窗口,可添加android:launchMode="singleInstance"<intent-filter>        <category android:name="android.intent.category.DEFAULT" />        <action android:name="android.intent.action.VIEW"/><data android:scheme="scheme_db"/>  //通过scheme名称,可启动WCDBActivity</intent-filter>
</activity>

3.在应用B中,WCDBActivity中可获取应用A中传递过来的数据

getIntent().getScheme();//获得Scheme名称
String data = getIntent().getDataString();//获得Uri全部路径
Toast.makeText(this, data+"",Toast.LENGTH_LONG).show();

三、应用A点击按钮,跳转到应用B的指定Activity——(指定包名和Activity全路径)

1.应用A中,点击

/**指定包名和带包名的Activity的名字*/
ComponentName componentName = new ComponentName("com.example.db_demo", "com.example.db_demo.ui.SQLiteActivity");
Intent intent = new Intent();
intent.putExtra("id", 1001);
intent.setComponent(componentName);
startActivity(intent);

2.应用B中,AndroidManifest.xml需要修改

<activity android:name=".ui.SQLiteActivity"    android:exported="true" //必须配置,否则不能被其他应用开启//如果想要在相邻窗口打开,则修改启动模式singleTask或者singleInstanceandroid:launchMode="singleTask"/>

四、通过浏览器打开Android App 应用

原理同方法二,使用scheme

1、首先做成HTML的页面,页面内容格式例如以下:

<a href="[scheme]://[host]/[path]?[query]">启动应用程序</a>

各个项目含义例如以下所看到的:
scheme:判别启动的App。 ※具体后述
host:适当记述
path:传值时必须的key ※没有也能够
query:获取值的Key和Value ※没有也能够

作为测试例如以下:

<a href="myapp://jp.app/openwith?name=zhangsan&age=26">启动应用程序</a>

2、app应用中,待打开的Activity在AndroidManifest.xml的配置如下:

<intent-filter>  <action android:name="android.intent.action.VIEW"/>  <category android:name="android.intent.category.DEFAULT" />  <category android:name="android.intent.category.BROWSABLE" />  <data android:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/>
</intent-filter>

3、接下来在Activity中须要取值的地方加入下面代码:

Intent i_getvalue = getIntent();
String action = i_getvalue.getAction();  if(Intent.ACTION_VIEW.equals(action)){  Uri uri = i_getvalue.getData();  if(uri != null){  String name = uri.getQueryParameter("name");  String age= uri.getQueryParameter("age");  }
}

Android中一个app启动另一个app|从浏览器打开app相关推荐

  1. android启动其他app的服务器,Android中通过外部程序启动App的三种方法

    这篇文章主要介绍了Android中通过外部程序启动App的三种方法, 本文讲解了直接通过包名. 通过自定义的Action. 通过Scheme三种方法,并分别给出操作代码,需要的朋友可以参考下 ==== ...

  2. Android中 一个应用启动另外一个应用一

    Android中 一个应用启动另外一个应用一般有2种情况,被启动应用的包名已知和未知两种情况:    *情况一 =====>已知包名通常有两种方法:    方法一:    [java]      ...

  3. Android 一个应用启动另外一个应用

    Android中 一个应用启动另外一个应用一般有2种情况,被启动应用的包名已知和未知两种情况:    *情况一 ==>已知包名通常有两种方法:    方法一:    [java]       / ...

  4. Android 实现浏览器打开app

    我们经常看到当点击一个链接的时候,跳转到app,比如当我们在网页端浏览新闻的时候,要想查看更多评论等就会提示你跳转到app内打开查看,那是如何实现网页中打开app的呢? 怎么实现? 要想实现浏览器内打 ...

  5. 开机自启动和由一个APK启动另一个APK核心代码

    1.开机自启动 public class BootReceiver extends BroadcastReceiver {private static final String ACTION = &q ...

  6. Android通过浏览器打开App并传递参数

    Android通过浏览器打开App并传递参数; Data的Uri的规则: scheme://host:port/path or pathPrefix or pathPattern 打开App传递参数U ...

  7. IOS 如何通过浏览器打开App

    前言: 随着App的开发,花样也越来越多了.现如今,是一个商家猖獗的时代,处处都是他们投放的广告.广泛的推广他们的产品或者服务,他们就在网上投放大量的网页,其中网页里面有一些特殊或者炫彩的按钮,或者文 ...

  8. ios html自动进入app,iOS 通过浏览器打开app

    1.Targets --> Info --> URL Types --> URL Schemes(填写自定义协议,如:watson),如图: 步骤1.png 2.Html代码 IOS ...

  9. Android中一个APP启动另一个APP并传递参数

    被调用(启动)的APP: 项目名字:Demo_ybs 项目包名:com.ybs.demo_ybs 被调用APP中获取调用者的传递数据: package com.ybs.demo_ybs;import ...

最新文章

  1. filebeat 收集json格式_集群日志收集架构ELK
  2. Codeforces 1326F Wise Men (容斥原理、状压 DP、子集和变换、划分数)
  3. 时间序列里面最强特征之一
  4. 自然语言处理在开放搜索中的应用
  5. Jenkins 设置镜像_docker+jenkins自动化部署
  6. Centos 6.4搭建svnadmin服务器
  7. JavaScript --- 跨浏览器的事件对象
  8. 用Java和ffmpeg把音频和视频合成视频
  9. 深入浅出VC++串口编程之基于Win32 API
  10. Linux内核自旋锁
  11. c/c++多线程模拟系统资源分配(并通过银行家算法避免死锁产生)
  12. 递增三元组(蓝桥杯)
  13. Linux工作笔记033---Linux(CentOS7)安装zip、unzip命令
  14. 插入始终是1_插入式电磁流量计的安装说明
  15. SQL-用JOIN连接多个表
  16. 帆软JS鼠标悬停列标题高亮显示/改变选中行行高
  17. 自举电容的工作原理-3句话总结
  18. Unity自定义Script模板
  19. Matlab龚珀兹曲线模型预测,指数曲线模型的讲解=.pptx
  20. Odoo message 日志

热门文章

  1. 支付宝异步回调步骤+内网穿透++雷神商城项目
  2. 文本串加密和解密程序。一个文本串可用事先给定的字母映射表进行加密
  3. 台湾繁体字和大陆汉语转换
  4. 【体系-微服务架构】23-Spring Cloud Spring生态链(Alibaba)
  5. win7显示dns服务器故障,Win7怎么解决DNS服务器故障?
  6. 校园网自动登录,断线重连
  7. day08学习 Python文件函数、CSV文件读写
  8. 学生登录系统 过程及结果
  9. 为什么PR导出来的视频,偏紫色?
  10. 推荐系统架构与算法流程详解