向 Android 小程序传递启动参数

在部分场景下,需要向小程序的默认接收页(pages/index/index)传递参数。本文以传递 name 和 pwd 参数为例,介绍了此场景的实现过程。

前提条件

您已参照 快速开始 文档接入了小程序组件。

操作步骤

  1. 在客户端添加启动时跳转页面的参数信息。传参方法如下所示:

    Bundle param = new Bundle(); String query = "name="+Uri.encode("123")+"&pwd="+Uri.encode("456"); param.putString("query",query); //设置参数 MPNebula.startApp(appId:"2020121620201216",param);

    URL 启动传参时,传递参数的字段为 query;获取参数时,通过解析 query 字段获取。

    startApp 参数说明:

    • appId:小程序的 ID,可以从 mPaaS 控制台查看。

    • param:Bundle 对象,可以向 Bundle 对象传递请求参数,key="query",value="键值对";多个参数中间用(&)隔开。

      重要
      • 小程序框架会对每对自定义入参的键值对的 value 进行 uri decode。因此,请对入参键值对的 value 进行 uri encode。

      • 小程序框架不会对自定义入参的键值对的 key 做任何处理。因此,请不要对 key 设置特殊字符,防止小程序侧无法识别自定义参数。

  2. 小程序获取参数。从 onLaunch/onShow(options) 方法的参数 options 中获取。 obtain param存储 app.js 会获取客户端向小程序传递的参数并保存到全局变量 globalData 中,使用时从 globalData 直接取值或更新值。如请求头里的 tokenuser_id 等参数,从 Native 传递过来后,保存到 globalData 中,使用时直接取值。 app.js