我正在尝试使用ionic(3.19.1)构建移动应用程序,我的一个需求是在应用程序中进行深层链接(路由)。 我遵循离子文档并成功创建了两个页面,当我在我的机器上使用chrome浏览器时,可以通过URL路由这些页面(离子服务)。当我尝试在Android设备上部署应用程序时,路由失败并且正在打开根页面。
更深入地研究一下,我注意到一旦在我的Android设备上打开了应用程序(无论是通过点击应用程序图标,还是通过外部链接导致应用程序中的特定路径,例如 myapp: // www.myapp.com /#/ oauthcallback /?oauth_token = Y&amp; oauth_verifier = X )uri是 file:/// andoid _assert / www / index.html 。< / p>
据我所知,这是cordova在本地为我的应用程序提供服务的位置,但为了区分不同的路由,我必须允许其他网址(特别是url参数)传递给应用程序。
我试图使用应用程序/网址,但它没有取得任何成功,任何想法都会受到欢迎!
提前致谢!
答案 0 :(得分:0)
每次重定向到根页面的原因是因为它与您应用的网址方案相匹配。现在为什么它没有重定向,它有两种可能性:
this.deeplinks.route({
'/changePassword/:id': ChangePasswordPage
}).subscribe((match) => {
this.nav.setRoot(match.$route, {
id: match.$args.id
})
console.log('Successfully routed', match);
}, (nomatch) => {
console.log('Unmatched Route', nomatch);
})
要检查确实发生了什么,您可以使用console.log()
放置一些chrome://inspect
并在设备上检查应用,或者如果您不知道这只是在回调中添加一些警报并查看内容你到了。