android Web跳转到app指定页面并传递参数实例

下面将实现 Web跳转到app指定页面并传递参数 总结

先看效果图:

h5页面代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>页面测试</title>
</head>
<body>
<!--
[share]://[host]/[path]?[query]
scheme:判别启动的App
host:适当记述
path:传值时必须的key 没有也可以
query:获取值的Key和Value 没有也可以
 -->
< a href="test://article/attr?title=摄影大赛&content=大家都来参加!" rel="external nofollow" >启动应用程序</ a>
</body>
</html>

android 端

1.在清单文件中设置:parentActivity 以及 data 值需和html对应

 <activity android:name=".MainActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>

    <activity android:name=".SecondActivity"
      android:parentActivityName=".MainActivity">
      <!--申明parentActivity,用户按返回键后返回主页面-->
      <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
      <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <!--下面所设置的data值需要和html端对应-->
        <!--在data里设置了 scheme和host,则该Activity可以接收和处理类似于 "test://article/attr"的链接-->
        <data
          android:host="article"
          android:scheme="test"
          android:pathPrefix="/attr" />
      </intent-filter>
    </activity>

2.在SecondActivity中 获取传递的参数以及在返回时需要做处理:

public class SecondActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    TextView mTextView = (TextView) findViewById(R.id.textview);
    //获取网页传递过来的参数
    Intent mgetvalue = getIntent();
    String maction = mgetvalue.getAction();
    if (Intent.ACTION_VIEW.equals(maction )) {
      Uri uri = mgetvalue.getData();
      if (uri != null) {
        String title = uri.getQueryParameter("title");
        String content = uri.getQueryParameter("content");
        mTextView.setText("网页传递值为:title=" + title + ",content=" + content);
      }
    }
  }
/**
*返回处理,防止点击返回按钮的时候,会直接退出当前app
**/
  @Override
  public void onBackPressed() {
    //NavUtils.getParentActivityIntent()方法可以获取到跳转至父Activity的Intent或者为null
    //NavUtils.shouldUpRecreateTask() 返回true父Activity应该重新创建一个新的任务栈,返回false同样的任务栈应该被使用作为目标Intent
    //isTaskRoot()用来判断该Activity是否为任务栈中的根Activity,即启动应用的第一个Activity
    Intent upIntent = NavUtils.getParentActivityIntent(this);
    if (NavUtils.shouldUpRecreateTask(this, upIntent) || isTaskRoot()) {
      //如果父Activity和当前Activity不在同一个Task中的,则需要借助TaskStackBuilder创建一个新的Task
      TaskStackBuilder.create(this)
          .addNextIntentWithParentStack(upIntent)
          .startActivities();
    } else {
      //如果父Activity和当前Activity是在同一个Task中的,则直接调用navigateUpTo()方法进行跳转
      upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
      NavUtils.navigateUpTo(this, upIntent);
    }
    super.onBackPressed();
  }
}

以上这篇android Web跳转到app指定页面并传递参数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Android APP存活检测方式

    稍微深入了解过Android的开发者都知道,Android中每个APP的中的所有组件的生命周期状态都是由ActivityManagerService(简称:AMS)进程来维护的,所以当某个APP被kill或意外crash时,AMS进程会第一时间维护APP的组件. 我们今天不会看AMS进程维护APP的流程,只看AMS是通过什么手段第一时间得到的通知,我们是否能够将这种手段应用到我们的APP中,在多进程环境下,通过这种手段进程间互相监控起到一个守护的作用. 我们知道一个APP对应唯一一个Activi

  • android Web跳转到app指定页面并传递参数实例

    下面将实现 Web跳转到app指定页面并传递参数 总结 先看效果图: h5页面代码: <!doctype html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <title

  • PHP页面间传递参数实例代码

    首先给大家介绍如何通过表单传值查询数据. 任务目标:在表单中输入部门名,查询出相应部门的人员信息. 先创建search.php文件. 第一步,插入一表单,在其中包含一个输入框,一个提交按钮.search.php文件内容如下所示: 复制代码 代码如下: <html>  <head>  </head>  <body>  <h3>Search</h3>  <form action="search_result.php&quo

  • vue路由跳转后刷新指定页面的方法

    做项目遇到一个坑:A页面带参跳转到B页面,第二次跳转时的参数与第一次时的参数不同,但是后台查询时还是使用的第一次的参数.需要手动刷新之后,才会使用第二次参数. 鉴于时间原因直接使用刷新页面监听路由的方法.在准备跳转的A页面添加路由跳转监听事件,达到每次A页面跳转B页面时,B页面都会再次重新加载页面. 添加完成后,A页面跳转B页面,B页面成功刷新.正当我高兴的以为又解决了一个bug时,突然发现我从A页面跳转到C页面时,C页面竟然也在发生页面刷新现象.当时着实是将小主吓了一大跳.要知道正是因为要填写

  • Android AIDL实现两个APP间的跨进程通信实例

    本文为大家分享了Android AIDL实现两个APP间的跨进程通信实例,供大家参考,具体内容如下 1 Service端创建 首先需要创建一个Android工程然后创建AIDL文件,创建AIDL文件主要为了生成继承了Binder的Stub类,以便应用Binder进行进程间通信 servier端结构如下 AIDL代码如下 // IBookManager.aidl package com.example.bookserver.aidl; // Declare any non-default type

  • 微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解

    本文实例讲述了微信小程序学习笔记之跳转页面.传递参数获得数据操作.分享给大家供大家参考,具体如下: 前面一篇介绍了微信小程序表单提交与PHP后台数据交互处理.现在需要实现点击博客标题或缩略图,跳转到博客详情页面. 开始想研究一下微信小程序的web-view组件跳转传参,把网页嵌入到小程序,结果看到官方文档的一句话打消了念头,因为没有认证...... [方法一 使用navigator组件跳转传参] 前台博客列表页面data.wxml:(后台数据交互参考上一篇) <view wx:for="{

  • JS控制静态页面之间传递参数获取参数并应用的简单实例

    在项目中遇到这也一个问题: 有a.html和b.html. 1.a页面已经打开,b页面尚未打开,我希望在a页面设置好一些列参数,比如背景色,宽度等参数,传递给b页面,好让b页面在打开就能应用. 2.a页面已经打开,b页面无论是否打开.在a页面需要获取到b页面的一些元素甚至变量,以便于应用到a页面. 注意:不涉及跨域问题. 想了很久,终于想到了解决方案. 第一个问题,我们可以利用html页面锚点的特性,将参数通过url传递给b页面 这是a页面代码: <button>跳转设置</button

  • JSP中实现判断客户端手机类型并跳转到app下载页面

    判断客户端手机类型,并跳转到相应的app下载页面 实现的原理,是检测浏览器的 USER-AGENT 这个header,然后根据正则表达式来确定客户端类型. 如果都不匹配,Fallback回退策略是显示对应的页面,让用户自己选择. 适合采用二维码扫描方式下载APP: JSP版本的代码如下所示:其他服务端版本请百度搜索. <%@page import="java.util.regex.Matcher"%> <%@page import="java.util.re

  • vue从一个页面跳转到另一个页面并携带参数的解决方法

    1.需求: 点击商场跳转到商业体列表 解决方案: 元页面: a标签中添加跳转函数 <a class="orderBtn1 sIRicon2" href="javascript:void(0);" rel="external nofollow" @click="toMallInfo('M000989')"><i class="sIRicon"></i>商场</a>

  • Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析

    本文实例讲述了Vue+Node服务器查询Mongo数据库及页面数据传递操作.分享给大家供大家参考,具体如下: 1.利用Mongoose查询MongoDB 通过mongoose依赖可以简捷地操作mondodb数据库,首先安装mongoose: cnpm install mongoose --save 使用mongoose需要一个模式Schema,它用于定义你从mongodb中查询的每个文档条目的内容,然后通过mongoose.model()生成一个模板model,模板像一个架子,将数据库取到的每个

  • Android中Okhttp3实现上传多张图片同时传递参数

    之前上传图片都是直接将图片转化为io流传给服务器,没有用框架传图片. 最近做项目,打算换个方法上传图片. Android发展到现在,Okhttp显得越来越重要,所以,这次我选择用Okhttp上传图片. Okhttp目前已经更新到Okhttp3版本了,用法跟之前相比,也有一些差别.在网上找了很多资料, 并和java后台同事反复调试,终于成功上传多张图片,同时传递一些键值对参数. 以下是我对该过程的封装: private static final MediaType MEDIA_TYPE_PNG =

随机推荐