#星光计划1.0#[鸿蒙开发]开发笔记:卡片跳转其他APP 原创 精华
本文正在参与51CTO HarmonyOS技术社区创作者激励-星光计划1.0
一、需求概述
实际项目开发中,卡片或是卡片跳转的页面都需要跳转到其他APP上,比如你为某一个APP开发卡片应用,该APP还没有完全实现鸿蒙版本,只是抽取某些重要功能进行卡片开发,那就需要卡片或是卡片跳转到其他APP,这其中会涉及到一些问题,本文章归类这些遇到的问题。
二、开发过程
1.卡片开发
卡片开发,社区里面有很多文章,官方文档也有,就不再赘述。强烈推荐张荣超老师的文章:鸿蒙卡片开发超细致总结
2.如何获取应用包名
如果我们并不知道要跳转的APP的包名,怎么获取呢?很简单,把应用安装到鸿蒙模拟器上,然后在通过HiLog筛选,就可以知道包名了。以爱奇艺为例
3.跳转之前判断是否安装该应用
知道包名了,我们要跳转之前就需要判断是否安装该应用,然后再进一步操作,判断代码如下:
4.应用安装直接打开应用
5.没有安装,打开华为市场详情页
通过.withUri(Uri.parse(“market://details?id=” + 包名)),包名用具体跳转的包名代替,比如跳转到华为市场爱奇艺的详情页,.withUri(Uri.parse(“market://details?id=” + “com.qiyi.video”))
6.直接跳转下载链接,用自带浏览器
总结
在开发过程中,我们经常遇到要跳转系统相册啊,跳转系统浏览器啊等等,我们可以参考Android是怎么跳转的,然后照样画葫芦,就可以推算出怎么写,Android与Harmony在代码上有很多共同原理,所以当你不知道怎么写harmony的时候,你可以想想Android怎么写的,比如上面跳转自带浏览器,我就是参考Android的,Android的写法如下:
只要知道Action,把Action放在对应的.WithAction中就可以,然后在 .withFlags(Intent.FLAG_NOT_OHOS_COMPONENT),Intent.FLAG_NOT_OHOS_COMPONENT这个Flag是指查找非鸿蒙应用的。这样类推就可以写出很多代码。同理,如果鸿蒙开发中,有功能需要实现的,也可以看看Android怎么实现,一般就知道鸿蒙怎么实现了。
本文正在参与51CTO HarmonyOS技术社区创作者激励-星光计划1.0
楼主你好如果只通过包名跳转三方app不指定到哪个页面怎么办呢?