Как заставить второй лаунчер всегда открывать приложение при указанной активности - PullRequest
0 голосов
/ 05 июля 2011

В моем приложении я указал второе действие, которое можно запустить из средства запуска, используя эту запись манифеста:

    <activity 
        android:name=".Lists.ListOfListsActivity"
        android:icon="@drawable/ic_launcher_lists" 
        android:launchMode="singleTop"
        android:label="@string/lists_activity_name" >
        <!--  An Intent filter so that the Lists activity shows in the Launcher -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

Допустим, у меня открыто приложение в "основном" действии, затем нажмитедомашний ключ.Мое приложение все еще будет работать, но в фоновом режиме.

Позже пользователь выбирает значок запуска, который у меня есть для "ListsOfListsActivity", на главном экране.

Это выведет приложение на передний план, ноНЕ в «ListOfListsActivity», но в какой бы текущей активности он ни находился, когда перешел в фоновый режим (например, в «основной» активности).

Это сбивает с толку, поскольку пользователь выбрал «ListOfListsActivity», но отображается другой.Затем они должны перейти к нему.

Я работал лучше, указав launchMode = "singleTask" для "ListOfListsActivity", но в этом режиме он не может быть запущен из другого действия для результата (startActivityForResult ()), и мне нужно быть в состоянии сделать это, чтобы выбрать список ...

Вопрос: - как указать фильтр намерений, который будет выдвигать действие на передний план и быть выбранным действием, нетНеважно, каков текущий статус приложения и его текущая активность ??

1 Ответ

0 голосов
/ 14 июля 2011

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

Таким образом, каждый «ярлык» всегда запускает действие, которое я хочу, но недостаток, который яЯ не смог избежать того, что у пользователя может быть несколько задач с активностью из моего приложения, и, возможно, одна и та же активность открыта / активна в разных задачах ....

...