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);

 

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

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());
    }

}