深度链接 Deep Link 开发遇到的坑

来源:互联网 发布:网站站内优化 编辑:程序博客网 时间:2024/06/06 12:28
列表内容``` 最近完成项目里一些功能所以空闲时间比较多,但是最近老大让我们在项目里加入深度链接功能,一开始听到深度链接这个词我有点懵X,什么鬼没听说过啊!硬着头皮去网上查资料啊!结果发现已经有专门公司已经集成了Deep Link SDK。但是在网上也有不用SDk可以实现的方法。当然我们是选择不花钱的方式去完成了。不废话直接进入主题。 我们应用中深度链接是通过应用宝的微链接实现的,实现这一功能还需要与公司的后台做相应的配合,而在移动前端代码中几处做相应的配置就行了。首先要在一个Activity接收深度链接后台传过来的数据,在AndroidManifest.xml清单文件中的对应的activity添加一个隐式意图(intent-filter)` ` 其中关键配置是data节点中的host配置为APP的包名,scheme配置和服务器约定好。接下来就会在相应的Activity中接受intent-filter传递过来的数据,代码如下:``` private String scheme; private Intent intent; intent = getIntent(); if(intent ==null) return; scheme = intent.getScheme(); if (scheme!=null&&TextUtils.equals(scheme,AppConstant.ACTIVITY_SCHEME)){ Uri uri = intent.getData(); String detaillink = uri.getQueryParameter("detaillink"); String title = uri.getQueryParameter("title"); String type = uri.getQueryParameter("type"); String typeId = uri.getQueryParameter("typeId"); String staticlink = uri.getQueryParameter("staticlink"); String titleimage = uri.getQueryParameter("titleimage"); NewsBean news = new NewsBean(); news.setDetaillink(detaillink); news.setStaticlink(staticlink); news.setTitle(title); news.setType(type); news.setId(typeId); news.setTitleimage(titleimage); Intent intent1 = new Intent(WelcomeActivity.this, ArticleActivity.class); intent1.putExtra("linkedArticle",true); intent1.putExtra(AppConstant.putExtra_WebView_Name,news); startActivity(intent1); AAnim.ActivityStartAnimation(WelcomeActivity.this); WelcomeActivity.this.finish(); }``` 但是在测试的过程中,发现了一个比较坑的问题,例如我们从微信朋友圈里点击分享的文章会跳到APP指定页面。但是这时候应用退到后台杀死进程再次进行深度链接时,深度链接功能失效。查阅资料也没有找到相应的解决办法,小民我真的是陷入了一片苦恼之中,疯狂地查阅资料和咨询前辈给予经验。终于这个bug被解决了。上代码实例:``` ``` 其实在对应的Activity之中配置带有**的那几个属性bug就解决了,其实具体原因我也不是很清楚,可能就是删除了历史缓存和android的登录模式的关系吧!如果有大神知道欢迎指导。纯属个人开发过程中的遇坑心得。
0 0
原创粉丝点击