u013299635
kaiking_g
2016-04-27 03:14
采纳率: 100%
浏览 2.3k

js如何主动访问Android和ios方法,并返回数据

您好,我是做webapp的开发的,最近遇到一个问题,就是js如何主动调用Android的方法并返回参数,想请问大神您知道怎么处理吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • w172087242
    little_how 2016-04-27 03:19
    已采纳

    下面是我写的一些示例:

    MGSD.Static.IOS = "iOS";
    MGSD.Static.ANDROID = "android";
    MGSD.exchange = function(value, funcname){
    if(!MGSD.OS){//第一次需要初始化操作系统
    var ua = navigator.userAgent.toLowerCase();
    if(/iphone|ipad|ipod/.test(ua)){//ios
    MGSD.OS = MGSD.Static.IOS;
    }else if(/android/.test(ua)){
    MGSD.OS = MGSD.Static.ANDROID;
    }
    }
    if(!MGSD.OS){//非目标操作系统
    throw new Error("\u975e\u76ee\u6807\u64cd\u4f5c\u7cfb\u7edf");
    }else{
    if(!funcname) funcname = "getParams";
    /** 传递参数 */
    if(MGSD.OS===MGSD.Static.IOS){//IOS系统
    window.location.href = "objc://"+funcname+"_"+value;
    }else{//安卓系统
    window.androidfuncname;
    };
    };
    };

    funcname就是安卓和ios的实际方法,
    然后在安卓和ios放来回调一个你的方法就可以了。

    点赞 评论
  • w172087242
    little_how 2016-04-27 05:32

    function callAndroidOrIos(value, funcname){
    if(!funcname) funcname = "getParams";
    var ua = navigator.userAgent.toLowerCase();
    if(/iphone|ipad|ipod/.test(ua)){//ios系统
    window.location.href = "objc://"+funcname+"_"+value;
    }else if(/android/.test(ua)){//安卓系统
    window.android[funcname](value);
    }else{//非目标操作系统
    throw new Error("\u975e\u76ee\u6807\u64cd\u4f5c\u7cfb\u7edf");
    }
    }

    点赞 评论
  • baidu_23086307
    好一个大布丁 2016-04-27 12:06

    下面是我写的一些示例:

    MGSD.Static.IOS = "iOS";
    MGSD.Static.ANDROID = "android";
    MGSD.exchange = function(value, funcname){
    if(!MGSD.OS){//第一次需要初始化操作系统
    var ua = navigator.userAgent.toLowerCase();
    if(/iphone|ipad|ipod/.test(ua)){//ios
    MGSD.OS = MGSD.Static.IOS;
    }else if(/android/.test(ua)){
    MGSD.OS = MGSD.Static.ANDROID;
    }
    }
    if(!MGSD.OS){//非目标操作系统
    throw new Error("\u975e\u76ee\u6807\u64cd\u4f5c\u7cfb\u7edf");
    }else{
    if(!funcname) funcname = "getParams";
    /** 传递参数 */
    if(MGSD.OS===MGSD.Static.IOS){//IOS系统
    window.location.href = "objc://"+funcname+"_"+value;
    }else{//安卓系统
    window.androidfuncname;
    };
    };
    };

    funcname就是安卓和ios的实际方法,
    然后在安卓和ios放来回调一个你的方法就可以了。

    点赞 评论
  • dongfeng9ge
    东风玖哥 2016-04-29 09:32

    HBuilder和AppCan的官方文档有

    点赞 评论

相关推荐