Как правильно создать статический App-Shortcut на Android 7.1?
Фон
В Android 7.1 появилась новая функция под названием " AppShortcut". В документах они объясняют, как создавать статические и динамические, и у них даже есть пример приложения.
Эта проблема
Я опробовал пример, но заметил, что когда я нажимаю на ярлык статического приложения, он показывает мне тост "приложение не установлено".
Глядя на код, я обнаружил подозрительную конфигурацию (в файле "shortcuts.xml"):
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
<shortcut
android:shortcutId="add_website"
android:icon="@drawable/add"
android:shortcutShortLabel="@string/add_new_website_short"
android:shortcutLongLabel="@string/add_new_website"
>
<intent
android:action="com.example.android.appshortcuts.ADD_WEBSITE"
android:targetPackage="com.example.android.appshortcuts"
android:targetClass="com.example.android.appshortcuts.Main"
/>
</shortcut>
</shortcuts>
Это не выглядит хорошо, потому что ничто в приложении не имеет этого намеренного действия "ADD_WEBSITE" .
Динамические ярлыки работают нормально, кстати (можно добавить через обычный запуск MainActivity).
Что я пробовал
Поэтому я подумал, что это должно быть изменено. Я попытался создать новое действие и изменить эту конфигурацию в соответствии с действием (action и targetCalss), но по какой-то причине я все еще получил тот же тост.
Вопрос
Что может быть не так в коде? Что нужно изменить, чтобы это исправить?
2 ответа
Это странно, но вы можете исправить это, изменивandroid:targetPackage = "com.example.android.shortcutsample"
(так же, как applicationid) илиapplicationId "com.example.android.appshortcuts"
(так же, как имя пакета).
Потому что ваш "com.example.android.appshortcuts.Main" не имеет этого действия
com.example.android.appshortcuts.ADD_WEBSITE
Вы можете изменить это действие на
android.intent.action.VIEW