android 持续按压app图标出现导航的效果实现

效果如图,构建快捷方式菜单

 

    //①、创建动态快捷方式的第一步,创建ShortcutManager
    ShortcutManager scManager = (ShortcutManager) getApplicationContext().getSystemService( Context.SHORTCUT_SERVICE);
    //②、构建动态快捷方式的详细信息
    ShortcutInfo scInfoOne  = new ShortcutInfo.Builder(getApplicationContext(), "one111")
            .setShortLabel("Dynamic net")
            .setLongLabel("go to baidu")
            .setIcon(Icon.createWithResource(getApplicationContext(), R.drawable.heart))
            .setIntent(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.baidu.com")))
            .build();

    ShortcutInfo scInfoTwo = new ShortcutInfo.Builder(getApplicationContext(), "one222")
            .setShortLabel("Dynamic Activity")
            .setLongLabel("to open dynamic one activity")
            .setIcon(Icon.createWithResource(getApplicationContext(), R.drawable.heart))
            .setIntents(new Intent[]{
                    new Intent(Intent.ACTION_MAIN, Uri.EMPTY, getApplicationContext(), MainActivity.class).
                            setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
                    //加该FLAG的目的是让MainActivity作为根activity,清空已有的任务
                       // new Intent(DynamicASOneActivity.ACTION)
            })
            .build();
    //③、为ShortcutManager设置动态快捷方式集合
    scManager.setDynamicShortcuts( Arrays.asList(scInfoOne, scInfoTwo));

    //如果想为两个动态快捷方式进行排序,可执行下面的代码
    ShortcutInfo dynamicWebShortcut = new ShortcutInfo.Builder(getApplicationContext(), "one111")
            .setRank(0)
            .build();
    ShortcutInfo dynamicActivityShortcut = new ShortcutInfo.Builder(getApplicationContext(), "one222")
            .setRank(1)
            .build();

    //④、更新快捷方式集合

//   scManager.setDynamicShortcuts( Arrays.asList(dynamicWebShortcut, dynamicActivityShortcut) );
            scManager.updateShortcuts(Arrays.asList(dynamicWebShortcut, dynamicActivityShortcut));

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值