前言
通常有这么一个场景,就是分享内容到微信朋友圈等,然后点击内容中的某个按钮就可以唤起自家应用。
这里要讲的也是使用 scheme 的方式去实现跳转,先捋一捋思路,首先如果要外部能唤醒 App ,那么 App 肯定要先注册一个全局的事件监听吧。然后,应该有一个页面来处理接受事件然后解析出具体的参数然后跳转具体的页面。就是这么简单。
思路捋好来,那么就来一一实现吧。
注册事件监听
这里需要使用到 Android Activity中的 ,现在可以创建一个解析跳转的 Activity,名字随便取了,然后需要在 Manifest 文件中配置具体的 。
android:scheme="test"
android:host="lovejjfg.com"
/>
如上配置,现在这个 Activity 就具备外部唤醒的能力了,注意下 中的相关配置,如上配置,外部的链接形式应该就是这样的了:test://lovejjfg.com/xxx 。 里面还可以定义其他内容,这里就不展开说了。
页面跳转
咳咳,这里要注意下了,比如说你有一个启动页 A,主页是 B,现在要跳到指定的 C 页面。那么外部唤起 App 的时候,其实有几种情况,这都是需要我们去考虑的。
先决考虑,这个看产品的需求了,那就是打开具体的页面,是仅启动该页面,回退直接返回浏览器,还是需要启动 App。如果就是仅仅打开页面就行,那么很简单,直接跳转页面就好,不用考虑新建任务栈什么情况。如果回退要启动目标App,不然用户直接回到浏览器,这里就要再区分几种情况了。