关于从APP进行跨APP跳转的操作

前言,最近项目要实现跨程序跳转功能,所以翻阅资料后进行总结,希望能帮到一些有该方面问题的朋友。

一,从一个APP跳转到另外一个应用程序的主页面:

Intent intent = new Intent(Intent.ACTION_MAIN;
//前提:知道要跳转应用的包名,类名
 ComponentName componentName = new ComponentName(“www.guangyao.waimai” “www.guangyao.waimai.View.LoginActivity”;
intent.setComponent(componentName);
startActivity(intent);

二,从一个APP跳转到另外一个应用程序的指定页面

1,首先你得在对应APP的AndroidManifest中的需要跳转的活动设置:出口为TURE使他暴露,不设置默认为假

<活动
 机器人:导出= “真”
 机器人:名称= “.View.MainActivity”
 机器人:configChanges = “取向|屏幕尺寸| keyboardHidden”
 机器人:screenOrientation = “纵向”
 机器人:windowSoftInputMode = “stateHidden | adjustPan” > </活动>                    

2,其次在对应的代码中添加跳转操作:

Intent intent = new Intent();
intent.setClassName(“www.guangyao.waimai” “www.guangyao.waimai.View.MainActivity”;
startActivity(intent);

3,注意事项,在步骤一完成后需要重新运行一遍需要跳转的应用程序,让暴露代码生效。不然你会怀疑我给了你错误代码。  

三,通过网页链接进行跳转(方案协议跳转,QQ和微信已经封掉了这种跳转模式):

1,首先你要知道在Android平台而言,URI主要分三个部分:scheme, authority,path, queryString。其中authority又分为host和port。格式如下:

2,在目标活动中配置过滤条件

<! - 要想在别的App上能成功调起App,必须添加intent过滤器 - >
  <intent-filter>
  <! - 协议部分,随便设置 - >
  
<data android :scheme = “myscheme” />
<! - 下面这几行也必须得设置 - > <category android :name = “android.intent .category.DEFAULT” / > <action android :name = “android.intent.action.VIEW” /> <category android :name = “android.intent.category.BROWSABLE” /> </ intent-filter> 3,这是时候你已经可以跳转了通过访问“
myscheme://www.guangyaoxinxi.com:100 / mypath中键= PID?

“这个地址你已经可以跳转到对应的页面,那么如何在对应的页面将URI中的值给取出来呢。

意图意图= 意图(意图ACTION_VIEW 。乌里解析“myscheme://www.guangyaoxinxi.com 100 / mypath中键= PID?” ));
startActivity(intent);

4,在对应页面的oncreat方法中使用:

Intent intent = getIntent();
//防止方案为空时应用程序崩溃。
 如果(intent.getScheme()== ){} 否则 {
    日志。eTAG “scheme:” + intent.getScheme());
    Uri uri = intent.getData();
    日志。eTAG “scheme:” + uri.getScheme());
    日志。eTAG “host:” + uri.getHost());
    日志。eTAG “port:” + uri.getPort());
    日志。eTAG “path:” + uri.getPath());
    日志。eTAG “queryString:” + uri.getQuery());
    日志。eTAG “queryParameter:” + uri.getQueryParameter(“key”));
}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值