Этот код не гарантированно работает. Эта трансляция также отправляется ShortcutManagerCompat (которую вы, вероятно, должны использовать вместо ручной отправки трансляции).
Однако есть две проблемы с этим.
Ваша программа запуска по умолчанию не гарантирует прослушивание этой трансляции. Например, в Nova Launcher это поведение отключено по умолчанию. Другие пусковые установки могут вообще не слушать это действие.
В Android Oreo (26) и выше это не сработает так, как вы ожидаете (для получения более подробной информации прочтите комментарии по методу, который я привел).
Вы можете по-прежнему использовать эту логику и надеяться, что она работает для некоторых из ваших пользователей, но имейте в виду, что многие программы запуска по умолчанию больше не имеют даже ящиков приложений, поэтому добавление ярлыка может дать вашим пользователям двойные значки. Кроме того, я знаю, что, по крайней мере, для меня, мой домашний экран организован так, как я хочу, и если я установлю приложение, было бы очень неприятно, если бы оно добавило себя на мой домашний экран.
Если вы используете , используя средство запуска AOSP по умолчанию (или закрывающую ветвь), однако, и оно не работает, убедитесь, что вы добавили это в свой манифест:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />