App isn't installed в App shortcuts

289
09 июня 2017, 09:35

Начал работать с AppShortcuts, создал всё как требует того офф документация:

<shortcuts xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:targetApi="25">
<shortcut
    android:enabled="true"
    android:icon="@drawable/ic_category_transfer"
    android:shortcutId="shortcut_name"
    android:shortcutShortLabel="@string/common_transactions_add_transaction">
    <intent
        android:action="android.intent.action.VIEW"
        android:targetClass=".LauncherActivity"
        android:targetPackage="com.sai.android">
    </intent>
    <categories android:name="android.shortcut.conversation" />
</shortcut>

Протестировал в эмуляторе, иконка с текстом появляется но при попытке перехода по этой вкладке, выдаёт текст

App isn't installed

Хотя приложение установлено. Возможно, дело в атрибуте android:action, так как я еще до конца не разобрался с ним.

Answer 1

Отвечаю на дополнение к вопросу:

Ну у меня эта главная активити, а переходить я хотел во фрагмент

Так как у вас есть Ваша главная активити, то благодаря ней можно попасть в желаемый фрагмент.

Во-первых, стоит всё таки убедиться в правильности написания атрибутов в shortcuts.xml. Будет это выглядеть примерно так:

<intent
    android:action="com.vm.sai.activities"
    android:targetClass="com.vm.sai.activities.MainActivity"
    android:targetPackage="com.vm.sai">
</intent>

А уже в Вашей активити вам придётся реализовать следующую конструкцию в методе onCreate():

if("com.vm.sai.activities".equals(getIntent().getAction())) {
    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, new MainFragment()).commit();
}

Ну и конечно ещё раз убедитесь, что в AndroidManifest.xml у Вас к главной активити в intent'e прописана meta-data:

<meta-data android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />

Также для более детального ознакомления:

App Shortcuts;

ShortcutManager;

ShortcutInfo Builder.

Answer 2

Проверьте, что имя пакета приложения в манифесте совпадает с

android:targetPackage="com.sai.android"

и здесь укажите полный путь к классу для верности

android:targetClass=".LauncherActivity"

READ ALSO
Проблема при адаптивной верстке

Проблема при адаптивной верстке

Доброе утро, пытаюсь сделать адаптивную верстку на сайт и столкнулся с такой проблемой, блок что идет справа не отображается на мобильных...

342
Разметка главной страницы на Bootstrap

Разметка главной страницы на Bootstrap

Необходимо исплользовать сетку бутстрапНа левом блоке будет внизу фоновое изображение

417