Android shortcuts快捷方式实现(支付宝长按图标弹出快捷方式入口)

<intent

android:action=“android.intent.action.VIEW”

android:targetPackage=“hlq.jobscheduler”

android:targetClass=“hlq.view.activity.TestACtivity” />

shortcutId, 一个唯一的id

enabled, 表示这个shortcut是否可用

shortcutShortLabel, 这里是配置的短名称, 下面还会有长名称, 如果长名称显示不下, 就显示短名称

shortcutLongLabel, 这里是配置的长名称, launcher会优先选择长名称显示

shortcutDisabledMessage, 这个配置是在我们选择一个不可用的shortcut时给用户的一个提示

在intent标签中

targetPackage是指定一个目标应用的包名,

targetClass是我们要跳转的目标类

action属性表示执行的动作可以统一使用这个,categories用上述默认即可

如果我们点击图标想有多个快捷方式,在下面添加shortcut标签就可以了,最多可以配置5个

3.注册shortcut


像广播服务那样,需要在配置文件中声明编写的shortcuts,并且必须在默认启动的Activity中注册,如下:

<meta-data

android:name=“android.app.shortcuts”

android:resource=“@xml/shortcuts” />

注册好后,运行起来,我们长按app效果图如下所示:

我们看到运行图标没有适配,可以去Android8.0图标适配:https://blog.csdn.net/huangliniqng/article/details/80434952

4.动态注册


在Android广播中我们都知道广播可以动态注册和静态注册,那么快捷方式也是同样的,上述方式为静态注册,快捷方式入口适合打开固定不变的页面,如果我们打开的界面要和数据交互,我们可以使用动态注册方式,接下来,我们了解动态注册

4.1

首先我们得到ShortManger对象

ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);

然后调用setDynamicShortcuts(List)方法设置shortcuts

比如我们从数组中得到数据,为每个数据设置快捷方式,可建的快捷方式最大个数我们可以通过

shortcutManager.getMaxShortcutCountPerActivity()得到,使用ShortcutInfo.Builder设置属性

for(int i = 0;i < shortcutManager.getMaxShortcutCountPerActivity(); i++){

Intent intent = new Intent(this, TestActivity3.class);

intent.setAction(Intent.ACTION_VIEW);

intent.putExtra(“msg”, “我和” + name[i] + “聊天”);

ShortcutInfo info = new ShortcutInfo.Builder(this, “id” + i)

结语

网上高级工程师面试相关文章鱼龙混杂,要么一堆内容,要么内容质量太浅, 鉴于此我整理了上述安卓开发高级工程师面试题以及答案。希望帮助大家顺利进阶为高级工程师。
目前我就职于某大厂安卓高级工程师职位,在当下大环境下也想为安卓工程师出一份力,通过我的技术经验整理了面试经常问的题,答案部分是一篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来。

大家知道高级工程师不会像刚入门那样被问的问题一句话两句话就能表述清楚,所以我通过过滤好文章来帮助大家理解。

1307页字节跳动Android面试真题解析火爆全网,完整版开放下载

现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。

加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。**

加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值