列表内容
最近完成项目里一些功能所以空闲时间比较多,但是最近老大让我们在项目里加入深度链接功能,一开始听到深度链接这个词我有点懵X,什么鬼没听说过啊!硬着头皮去网上查资料啊!结果发现已经有专门公司已经集成了Deep Link SDK。但是在网上也有不用SDk可以实现的方法。当然我们是选择不花钱的方式去完成了。不废话直接进入主题。
我们应用中深度链接是通过应用宝的微链接实现的,实现这一功能还需要与公司的后台做相应的配合,而在移动前端代码中几处做相应的配置就行了。首先要在一个Activity接收深度链接后台传过来的数据,在AndroidManifest.xml清单文件中的对应的activity添加一个隐式意图(intent-filter)`<intent-filter android:autoVerify="true"><action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.BROWSABLE"/><category android:name="android.intent.category.DEFAULT"/><dataandroid:host="包名"android:scheme="域名"/></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
            android:name=".activity.WelcomeActivity"** android:alwaysRetainTaskState="true"** android:launchMode="singleTask"** android:noHistory="true"android:theme="@style/WelcomeTheme"><intent-filter><category android:name="android.intent.category.DEFAULT"/><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter><intent-filter android:autoVerify="true"><action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.BROWSABLE"/><category android:name="android.intent.category.DEFAULT"/><data
                    android:host="包名"android:scheme="域名"/></intent-filter></activity>
 其实在对应的Activity之中配置带有**的那几个属性bug就解决了,其实具体原因我也不是很清楚,可能就是删除了历史缓存和android的登录模式的关系吧!如果有大神知道欢迎指导。纯属个人开发过程中的遇坑心得。

深度链接 Deep Link 开发遇到的坑相关推荐

  1. 什么是深度链接(deep link)

    DeepLink:名为"深度链接",这是对于已经安装了APP,并把需要的参数通过URL的形式传递给App,指向特定的页面,主要就是帮助开发者实现,从外部链接到App内部页面的直接跳 ...

  2. 所谓深度链接(Deep linking)

    是为那些非Html页面应用而给定的一种关于URL定位的描述. 例如,在一个网页里,如果有"Home"."About Us"和"Contact" ...

  3. Windows Phone 7(WP7)开发 自订磁贴(深度链接)

    用过Wp7手机的同学应该都对内置的Office印象深刻,每一个文档的图标长按会出现一个菜单,能够"固定到开始屏幕",固定到开始屏幕的那个图标,点击之后,会直接打开该文档内容. 又如 ...

  4. 大量机器学习(Machine Learning)深度学习(Deep Learning)资料

    机器学习目前比较热,网上也散落着很多相关的公开课和学习资源,这里基于课程图谱的机器学习公开课标签做一个汇总整理,便于大家参考对比. 1.Coursera上斯坦福大学Andrew Ng教授的" ...

  5. 在 iOS 与 Android 上实现 React Native 应用深度链接,通过 URL 打开到指定页面

    在 iOS 与 Android 上实现 React Native 应用深度链接,使得应用可以通过 我们生活在一个万物兼可分享的年代,而分享的过程,几乎最终都会分享某一个链接,那么,作为开发者,最常遇到 ...

  6. Deferred Deeplink(延展的深度链接)

    最近在研究Deferred Deeplink,网上查了查资料,在这里整理记录一下,供大家学习参考. 前言 Deferred Deeplink(延展的深度链接) Deeplink有个局限,就是只能在已安 ...

  7. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

  8. SWFAddress实现Flex深度链接(不同模块具有不同的URL)

    众所周知,Flex明显区别于传统B/S开发模式的特性中,有一条为在Flex中已经再看不到页面的跳转会伴随URL的变化了,但在实际应用中,我们会遇到,我们给朋友介绍自己Flex做的网站的某个亮点时候,没 ...

  9. 【深度学习Deep Learning】资料大全

    感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! 对商业智能BI.大数据分析挖掘.机器学习, ...

最新文章

  1. 无聊软件-GIT屏幕录制工具_已迁移
  2. 判断两棵树是否相等与使用二叉链表法建立二叉搜索树
  3. python字符串find函数实现_python中实现查找字符串的find函数
  4. 怎么用python读取csv文件、并且是读取行-python读取csv文件指定行的2种方法详解...
  5. 怎么用python编简单游戏_用Python实现一个简单的算术游戏详解
  6. [转]URLRewrite隐藏.aspx后缀名的应用(转载+延伸)
  7. 语音幅度统计-matlab-有问题
  8. [BZOJ5303] [HAOI2018] 反色游戏
  9. form表单获取多选的值
  10. 哪些人在听 60 亿流量《惊雷》?Python 告诉你 | 原力计划
  11. 李飞飞离职Google重返斯坦福,CMU计算机学院院长Andrew Moore接任
  12. java从字符串中提取数字的简单实例
  13. 说服力——教你做出专业出彩的演示PPT
  14. asp.net 设置敲回车触发按钮
  15. 读Zepto源码之Touch模块
  16. java 微信小程序 在线学习系统app
  17. 【Share Backup】FreeCrawl
  18. ESP8266-连接阿里云示例
  19. 什么是html5页面ui,H5页面UI设计和APP设计有什么区别?
  20. 开发新产品的三个验证阶段(EVT/DVT/PVT)

热门文章

  1. 搭建Win XP下iPhone开发环境
  2. 【转】国内外优秀的计算机视觉团队汇总
  3. Vue2知识点 - RT
  4. 【SPI】SPI学习之SPI硬件相关
  5. ps制作双重曝光海报
  6. Vscode c与c++编译环境配置(.vscode),看这一篇就够了
  7. 机器学习笔记(杂) oecd_bli_2015.csv TOT
  8. matlab使用教训
  9. 保序加密OPE 算法 BCLO09及python仿真
  10. 使用 Cocos Creator 引擎创建3D资产