从浏览器直接转跳到APP具体页面---(魔窗)MagicWindow使用教程
2016-07-29 15:49
148 查看
想要实现在网页里一键调到你APP的指定页面吗,好比打开 JD的一个商品的网页,从网页调到APP这个商品的页面。APP服务化, 使用魔窗SDK可以轻松实现!
老规矩:效果图奉上
创建你的app
转载请注明出处:http://blog.csdn.net/wingichoy/article/details/52063229
(1)下载aar包,将其放到libs目录
(2)在gradle内配置
(3)配置Manifest.xml
在你的引导页面 加入以下代码:
2.在自定义Application 注册session
这里的key就是 从你的SplashActivity 路由到你具体Activity的 key。
接下来,只需要在你的SplashActivity 注册路由即可。具体分析看注释,尤其注意其中有个 坑!!!!!小心,鼓捣了我好久。
此时onCreate的代码如下:
接下来添加你的短链接,按照提示添加即可
下面我们从浏览器里打开 短链接,看看发生了什么、
很神奇的从 网页转跳到了详情页 有木有!!!
快去试试吧~~
DEMO下载地址
老规矩:效果图奉上
1.注册魔窗账号,创建APP
注册地址:www.magicwindow.cn创建你的app
2.嵌入sdk
这里只介绍Android Studio的嵌入方法转载请注明出处:http://blog.csdn.net/wingichoy/article/details/52063229
(1)下载aar包,将其放到libs目录
(2)在gradle内配置
repositories { flatDir { dirs'libs' } } dependencies { compile(name:'MagicWindowSDK', ext:'aar') }
(3)配置Manifest.xml
<!-- 连接互联网Internet权限 --> <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" /> <!-- 缓存资源优先存入SDcard --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!-- APPID --> <meta-data android:name="MW_APPID" android:value="您的魔窗AppId" />
在你的引导页面 加入以下代码:
<intent-filter> <data android:scheme="你的Scheme"/> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter>
3.调用SDK
1.在引导页(SplashActivity) 进行Activity的初始化:MWConfiguration config = new MWConfiguration(this); //设置渠道,非必须(渠道推荐在AndroidManifest.xml内填写) config.setChannel("你的渠道名称") //开启Debug模式,显示Log,release时注意关闭 .setDebugModel(true) //带有Fragment的页面。具体查看2.2.2 . setPageTrackWithFragment(true) //设置分享方式,如果之前有集成sharesdk,可在此开启 . setSharePlatform (MWConfiguration. ORIGINAL); MagicWindowSDK.initSDK(config);
2.在自定义Application 注册session
Session.setAutoSession(this);
4.注册mLink
![这里写图片描述]这里的key就是 从你的SplashActivity 路由到你具体Activity的 key。
接下来,只需要在你的SplashActivity 注册路由即可。具体分析看注释,尤其注意其中有个 坑!!!!!小心,鼓捣了我好久。
private void registerLinks(Context context) { MLink.getInstance(context).registerDefault(new MLinkCallback() { @Override public void execute(Map paramMap, Uri uri, Context context) { //默认的路由 如果没有匹配则转跳到 MainActivity 为你的首页 MLinkIntentBuilder.buildIntent(paramMap, context, MainActivity.class); } }); // testKey: mLink 的 key, mLink的唯一标识,用于进行路由操作 MLink.getInstance(context).register("testKey", new MLinkCallback() { public void execute(Map paramMap, Uri uri, Context context) { //!!!!!!!!注意 此处有坑,如果你的SplashActivity转跳有延迟,那么在此处转跳的延迟必须大于前者转跳时间!!!!!!!! Observable.timer(1050,TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe(aVoid->{ MLinkIntentBuilder.buildIntent(paramMap, context, DetailsActivity.class); }); } }); }
此时onCreate的代码如下:
public class SplashActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); //初始化SDK initSDK(); //注册SDK registerLinks(this); Uri mLink = getIntent().getData(); //如果从浏览器传来 则进行路由操作 if(mLink != null){ MLink.getInstance(this).router(this, mLink); finish(); }else { //否则执行原本操作 go2MainActivity(); } }
接下来添加你的短链接,按照提示添加即可
下面我们从浏览器里打开 短链接,看看发生了什么、
很神奇的从 网页转跳到了详情页 有木有!!!
快去试试吧~~
DEMO下载地址
如果你喜欢我的博客 请评论或者点赞!~!谢谢
相关文章推荐
- iOS开发 GET、POST请求方法:NSURLSession篇
- H5页面、微页、轻应用、轻app、场景应用制作工具:
- 关于iOS socket都在这里了
- JQuery中html、append、appendTo、after、insertAfter、before、insertBefore、empty、remove系列方法的使用。
- 浅谈 android mvp 模式的使用
- Android 中的事件分发和处理
- Android EventBus源码解析 带你深入理解EventBus
- [Android]FloatingText仿点赞+1等效果
- Android OpenGL显示任意3D模型文件
- 在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口
- 针对Mtk平台 Android 打包解包*.img ,修改system.img 参数
- iOS自适应button循环创建
- [iOS]书写Xcode注释文档
- iOS QQ实现第三方登录以及遇到的问题
- QQ、新浪、微信使用友盟第三方登录需注意(5.0之前)
- Android开源控件网址
- [置顶] Spring 中ApplicationContext使用 <02>
- Android中五种常见的Dialog演示
- 【Android学习笔记】NestedScrollView嵌套ViewPager后滑动不了的问题
- Android Studio 如何打JAR包