kaiking_g 2016-04-27 03:14 采纳率: 100%
浏览 2540
已采纳

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

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

  • 写回答

4条回答 默认 最新

  • 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放来回调一个你的方法就可以了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 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");
    }
    }

    评论
  • 好一个大布丁 博客专家认证 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放来回调一个你的方法就可以了。

    评论
  • 东风玖哥 2016-04-29 09:32
    关注

    HBuilder和AppCan的官方文档有

    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 java为什么这个按钮监听事件不触发
  • ¥20 unity打光没有照亮物体
  • ¥25 powershell如何拷贝1周前的文件
  • ¥15 询问MYSQL查询SQLSERVER数据表并比较差异后,更新MYSQL的数据表
  • ¥15 关于#前端#的问题,请各位专家解答!
  • ¥15 最小生成树问题 Prim算法和Kruskal算法
  • ¥25 医院住院病人呼叫器设计
  • ¥15 不想和现在的团队合作了,怎么避免他们对程序动手脚
  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据