coso js 魔窗

来源:互联网 发布:什么软件可以做代理 编辑:程序博客网 时间:2024/06/15 05:19

首先导入魔窗的SDK包
再在AppActivity里注册和使用

 protected void onStart() {       super.onStart();        Uri mLink = getIntent().getData();        MLink.getInstance(AppActivity.this).deferredRouter();        Log.e("MagicWindowsSDK", "onStart" + mLink);         if (mLink != null) {            MLink.getInstance(this).router(mLink);        } else {            Log.d("请您安装软件", "请您安装软件");            //MLink.getInstance(this).checkYYB();        }           }private void initMagicWindows() {          MWConfiguration config = new MWConfiguration(this);            config.setDebugModel(true)                    .setPageTrackWithFragment(true)                    .setWebViewBroadcastOpen(true)                    .setSharePlatform(MWConfiguration.ORIGINAL);            MagicWindowSDK.initSDK(config);    }protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);initMagicWindows();                registerForMLinkCallback();         Uri mLink = getIntent().getData();         MLink.getInstance(AppActivity.this).deferredRouter();         System.out.println("魔窗返回绑定参数mlink mLinkmLinkmLinkmLink"+mLink);         if (mLink != null) {            MLink.getInstance(this).router(mLink);         } else {            //MLink.getInstance(this).checkYYB();         }         }private static void registerForMLinkCallback() {        MLink mLink = MagicWindowSDK.getMLink();        System.out.println("------------------------registerForMLinkCallback");        mLink.registerDefault(new MLinkCallback() {            @SuppressWarnings("null")            @Override            public void execute(Map<String, String> paramMap, Uri uri, Context context) {                //todo: 获取动态参数,用来处理                System.out.println("---------------------进入注册");                String id = "";                 String type = "";                try {                   if (paramMap != null) {                    id = paramMap.get("hehe"); //通过key来取得需要的信息                    type = paramMap.get("hehe");                   } else if(uri != null) {                    id = uri.getQueryParameter("hehe");                    type = paramMap.get("hehe");                   }                } catch (Exception e) {                    Log.e("mlinkInfo", "Exception", e);                }                      System.out.println(id+"魔窗返回绑定参数mlink key"+type);//              for (Map.Entry MapString : paramMap.entrySet()) { //                  String key=(String) MapString.getKey();//次方法获取键值对的名称 //                  String value=(String) MapString.getValue();//次方法获取键值对的值 //                  System.out.println(key+":*************:"+value); //              }                //todo: 此处可以根据获取的动态参数id来做相应的处理//              Intent intent = new Intent(context, AppActivity.class);//              intent.putExtra("from", "mLink");//              AppActivity.instance.processIntent(intent);                       }        });    }@Override    public void onPause() {        Session.onPause(self);        super.onPause();    }protected void onResume() {         Session.onResume(self);        super.onResume();        }AndroidManifest.xml 里的配置<activity android:name="org.cocos2dx.javascript.AppActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation">      <intent-filter>        <action android:name="android.intent.action.MAIN" />        <category android:name="android.intent.category.LAUNCHER" />      </intent-filter>      <intent-filter>        <data android:scheme="kuailaihngame"/>        <action android:name="android.intent.action.VIEW" />        <category android:name="android.intent.category.DEFAULT" />        <category android:name="android.intent.category.BROWSABLE" />    </intent-filter>    </activity><activity android:name="com.zxinsight.common.base.MWActivity" android:exported="true"        android:configChanges="orientation|keyboardHidden|screenSize|navigation"/>在application里添加<meta-data         android:name="MW_APPID" android:value="你的appkey" />         <!--渠道名称MW_CHANNEL不能更改 -->    <meta-data         android:name="MW_CHANNEL" android:value="渠道id" />    <!-- wx end -->权限<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />  <uses-permission android:name="android.permission.INTERNET" />  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  <uses-permission android:name="android.permission.GET_TASKS" />  <uses-permission android:name="android.permission.READ_PHONE_STATE" />  <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />  <uses-permission android:name="android.permission.RECORD_AUDIO" />  <uses-permission android:name="android.permission.VIBRATE" />然后去魔窗官网注册一个账号,添加一个app配置一下mLinkmLink服务名称:名称mLink服务key: keyAndroid URI:key?hehe=:id&hehe=:type//在写一个网页   微信分享的时候在这个网页链接的后面加上"?hehe" + hehe + "&hehe=" + ""  //自己需要传的参数就可以了<html xmlns:th="http://www.thymeleaf.org" lang="en"><head>  <meta charset="UTF-8"/>  <meta name="apple-mobile-web-app-cacable" content="yes" />  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximun-scale=1.0, user-scaleble=0"/>  <meta http-equiv="X-UA-Compatible" content="IE=edge"/>  <title>"微信跳转"</title></head><body><div class="main>     <div class="banner">       <a class="dwnBtn" id="openApp" href=""></a>    </div>    <div class="middle"...></div> <script src="https://static.mlinks.cc/scripts/dist/mlink.min.js"></script> <!-- h5 静态传参数 如gameRoomID --> <script>   function HashMap(key,value){      var key;      var value;      this.put = function(key,value){      this.key = key;      this.value = value;    }    this.getKey = function(){      return key;    }    this.getValue = function(){     return value;    }   }    function Request(){     var parameters = null;     this.init = function(){      var location = window.location.href;      var index = location.indexOf("?");      var queryString = ((index>0)?location.substring(index+1):null);      if(null!=queryString){         parameters = new Array();         var parameterArray = queryString.split("&");         var length = parameterArray.length;         for(var i=0;i<length;i++){         var parameter = parameterArray[i];         index =  parameter.indexOf("=");         var key = parameter.substring(0,index);         var value = parameter.substring(index+1);         if(null!=key && key.length>0){           parameters.push(new HashMap(key,value));        }       }      }    }    this.getParameter = function(key){    this.init();    if(null==parameters)      return "";    var length = parameters.length;    for(var i=0;i<length;i++){       hashMap = parameters[i];       if(hashMap.getKey() == key){         return hashMap.getValue();       }     }     return "";   }   this.getParameterValues = function(key){    this.init();    if(null==parameters)      return null;    var array = new Array();    var length = parameters.length;    for(var i=0;i<length;i++){        hashMap = parameters[i];        if(hashMap.getKey() == key){          array.push(hashMap.getValue());       }    }    return array;    }  }   </script> <!-- 魔窗对象 --> <script> window.onload = function(){  var request = new Request();   new Mlink({     mlink: "AclX",     button: document.querySelector("a#openApp"),     autoLaunchApp: true,     autoRedirectToDownloadUrl: true,     downloadWhenUniversalLinkFailed: false,     inapp:false,     params:{id:request.getParameter(""), type:request.getParameter("")}  }); } </script> </body> </html> 
原创粉丝点击