Прозрачная активность открывается самостоятельно

android android-intent android-activity android-pendingintent start-activity

283 просмотра

1 ответ

Я хочу создать мероприятие с прозрачным фоном, которое я могу начать, нажав на уведомление.

Я создал уведомление и действие без проблем, но теперь я хочу открыть этот конкретный TransparentActivity независимо, т.е. без отображения других действий в фоновом режиме.

Я попытался поставить некоторые флаги на намерение:

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);

и в файле AndroidManifest, на моем теге TransparentActivity, я поставил:

<activity
    android:name=".TransparentActivity"
    android:launchMode="singleTask"
    android:theme="@style/Theme.Transparent">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

Он работает, как и ожидалось, но теперь у меня есть две иконки для моего приложения, чего я не хочу.

Есть ли способ заставить его работать?

Автор: LeonardoSibela Источник Размещён: 08.11.2019 11:25

Ответы (1)


1 плюс

Решение

Самый простой способ сделать это - изменить taskAffinityэто Activityв манифесте. Добавлять:

android:taskAffinity=""

к <activity> declaration for this oneдеятельности ».

Это один Activityбудет запущен в новую задачу, а не в задачу , которая запускает остальную часть вашего приложения.

Автор: David Wasser Размещён: 22.08.2016 12:03
Вопросы из категории :
32x32