Огонь многих намерений формирует много мест для одного действия (с одним экземпляром)

111
8

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

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

как я могу это сделать?

Я поставил android: launchMode = "singleTask" и singleinstance, но проблема в том, что onNewIntent не вызывается вообще...

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
refreshGuiState();
}

РЕДАКТИРОВАТЬ

   <activity android:name="MyActivity"
android:launchMode="singleTask"

android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:screenOrientation="portrait" android:label="@string/app_name"
>
</activity>

Intent i=new Intent(MyApp.myContext, MyActivity.class);
MyApp.myContext.startActivity(i);

спросил(а) 2021-01-19T17:59:15+03:00 9 месяцев назад
1
Решение
91

Добавить android:taskAffinity="" в определение манифеста для MyActivity

Несмотря на то, что для этой операции вы указали launchMode="singleTask", если вы явно не укажете taskAffinity вас не будет отдельной задачи.

ответил(а) 2021-01-19T17:59:15+03:00 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема