linruiand
linruiand
  • 发布:2015-08-05 22:52
  • 更新:2018-07-23 13:50
  • 阅读:6616

原生APP如何向WEBAPP集成方式集成的H5页面传递参数

分类:5+ SDK

APP是混合开发的,原生APP在启动H5页面时候需要向WEBAPP集成方式的H5页面传递一个token,不管怎么传都行,只需要H5加载时候能够获取到这个token就行

2015-08-05 22:52 负责人:无 分享
已邀请:
linruiand

linruiand (作者)

token是在原生APP下操作获取到的token

wenju

wenju - https://www.mescroll.com -- 精致的下拉刷新和上拉加载组件

和我现在的项目一样 也是把原生的token给H5 , 暂时使用的方法是:
获取到token后原生调js把token存入storage
联网用到的时候从storage拿;

  • linruiand (作者)

    求原生调用JS存入token的方法,WEBAPP集成方式不知道怎么往上面加js

    2015-08-06 13:05

  • wenju

    Android端代码的:

    IWebview mainWebview = (IWebview) pArgs;

    mainWebview.evalJS("setLocalData('" + key + "','" + value + "')");


    JS代码,写在app.js里面

    function setLocalData(_key, _value) {

    if (_key != null) {

    if (_value != null) {

    plus.storage.setItem(_key, _value);

    } else {

    plus.storage.removeItem(_key);

    }

    }

    }


    JS用到的时候直接从storage获取

    2015-08-06 17:09

  • wenju

    其中pArgs在 SDK.startWebApp里面的IWebviewStateListener 获取




    SDK.startWebApp(activity, appBasePath, null,

    new IWebviewStateListener() {

    @Override

    public Object onCallBack(int pType, Object pArgs) {

    switch (pType) {

    case IWebviewStateListener.ON_WEBVIEW_READY:

    mainWebview = (IWebview) pArgs;

    ...........

    2015-08-06 17:11

  • wenju

    IOS端 没有研究 不大清楚~~(>_<)~~

    2015-08-06 17:11

Android_磊子

Android_磊子

在sdk接口中提供这么一个方法 SDK.startWebApp(Activity activity, String appBasePath, String startArgs, IWebviewStateListener listener, IOnCreateSplashView ocs).
startArgs即为应用的启动参数,其值可以为字符串,也可以为json。此值可以使用5+ jsapi的plus.runtime.arguments进行调用获取。
1,为字符串时候的,需要参数带有引号。比如startArgs = "\"我就是应用的启动参数\"",plus.runtime.arguments值就为”我就是应用的启动参数“。
2,当为json的时候startArgs="{key:'我就是应用启动参数'}"。
plus.runtime.arguments.key值就为”我就是应用的启动参数“。

g***@163.com

g***@163.com - 往事如风,长伴吾身

plus.runtime.arguments用完怎么清空掉,
plus.runtime.arguments=null和plus.runtime.arguments='';都不行啊

该问题目前已经被锁定, 无法添加新回复