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>
阅读全文
0 0
- coso js 魔窗
- js
- js
- JS
- JS
- JS
- js
- js
- js
- js
- js
- JS
- js
- JS
- js
- js
- js
- js
- 项目学习笔记
- java api
- Shell命令之Android及iOS常用操作命令
- Oracle12C 数据库安装示范教程
- 聚类总结
- coso js 魔窗
- Java中Class类详解、用法及泛化
- redis的java调用
- DataBinding使用教程(一):配置与基本使用
- linux卸载openjdk以及安装正常版本jdk
- 浙大PAT甲级-1008
- Machine Learning----Regression(2)
- haproxy.cfg配置详解
- Android中的事件分发(上)