山海* 2021-03-04 15:49 采纳率: 100%
浏览 245
已采纳

AndroidAPP为桌面创建快捷方式不能用了吗

Intent addShortIntent = new Intent(ACTION_ADD_SHORTCUT);
addShortIntent.putExtra("1111",false);//不能重复创建
addShortIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,"测试");
addShortIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(MainActivity.this,R.mipmap.camera));
Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
launcherIntent.setClass(MainActivity.this,MainActivity.class);
launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
addShortIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,launcherIntent);
sendBroadcast(addShortIntent);

用了以下代码创建方式没反应,有没有前辈可以指导下

  • 写回答

1条回答 默认 最新

  • 立青_ 2021-03-04 18:40
    关注
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        ShortcutManager shortcutManager = (ShortcutManager) getSystemService(Context.SHORTCUT_SERVICE);
        if (shortcutManager == null) {
            return;
        }
        if (shortcutManager.isRequestPinShortcutSupported()) {
            Intent shortcutInfoIntent = new Intent(context, HomeActivity.class);
            shortcutInfoIntent.setAction(Intent.ACTION_VIEW);
            shortcutInfoIntent.setData([data]);
            ShortcutInfo info = new ShortcutInfo.Builder(context, [id])
                    .setIcon(Icon.createWithResource(context, [图标资源id]))
                    .setShortLabel([名字])
                    .setIntent(shortcutInfoIntent)
                    .build();
            PendingIntent shortcutCallbackIntent = PendingIntent.getBroadcast(context, 0, shortcutInfoIntent, PendingIntent.FLAG_UPDATE_CURRENT);
            shortcutManager.requestPinShortcut(info, shortcutCallbackIntent.getIntentSender());
        }
    
    } 
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图