Как правильно создать статический 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
Другие вопросы по тегам