Приложение не должно отображаться в последнем списке приложений после завершения операции, если приложение ранее не отображало список последних приложений
Шаг 1. Приложение не существует в последнем списке приложений (приложение было удалено из списка последних приложений).
Шаг 2. Как только я получил уведомление об открытии IncomingCall, пользователь принимает вызов.
Шаг 3. Пользователь щелкнет по кнопке разъединения, чтобы завершить работу IncomingCall.
Проблема. Приложение, показанное в последнем списке приложений, даже не было в недавнем списке приложений.
Ввод манифеста
<activity
android:name=".activities.IncomingCall"
android:excludeFromRecents="true"
android:launchMode="singleTop"
android:screenOrientation="portrait" >
</activity>
В действии с использованием
public void onClick(View v) {
switch (v.getId()) {
case R.id.onCallDisconnectButton:
phoneCallBaseClass.disconnect();
IncomingCall.this.finish();
break;
}
}
А также я пробовал ссылку ниже, но она будет работать, когда приложение уже существует в фоновом режиме
Программно удалить приложение из последних приложений
ИЛИ
Есть ли другой способ показать вид входящего вызова, чтобы он не сохранялся в истории.
вы можете взять пример любого приложения VoIP-вызовов -
Удалить приложение из списка последних приложений после того, как пришел входящий вызов, пользователь отключит активность вызова (IncomingCallActivity), который не будет существовать в последнем списке приложений.
Но в моем случае активность сохраняется в последнем списке приложений после отключения вызова.
Спасибо
Ответы
Ответ 1
Слава Богу, я получил ответ после размышления неделю.
Добавьте атрибут singleInstance вместе с исключением из недавнего.
Это была ошибка в 5.0, теперь была решена в 5.1
<activity
android:name="activityName"
android:excludeFromRecents="true"
android:launchMode="singleInstance"
>
</activity>
Ответ 2
Добавить
android:excludeFromRecents="true"
к тегу активности вашей активности запуска в файле AndroidManifest.xml
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:excludeFromRecents="true">
....
</activity>
Ответ 3
В соответствии с вашими потребностями finishAndRemoveTask() - это новый API, который согласно документации
Завершает все действия в этой задаче и удаляет их из последних список задач.
if(android.os.Build.VERSION.SDK_INT >= 21)
{
finishAndRemoveTask();
}
else
{
finish();
}