закончить фоновую активность из приемника вещания

Я запускаю новое действие «ActivityB», когда клавиатура заблокирована.(ActivityA была восстановлена до блокировки клавиатуры).
ActivityB тайм-аут после 30 секунд и предполагается, чтобы закрыть себя, поэтому я позвонил закончить после 30 секунд, хотя не видно, после того, как я разблокировать я вижу 2 отдельных приложений/действий в фоновом режиме.
Поэтому я использовал намерение.ACTION_USER_PRESENT broadcastreceiver для завершения activityB, все еще не работает.

Декларация.XML

  <receiver
            android_name="com.example.reciever.UnlockReceiver">
            <intent-filter>
                <action android_name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>

UnlockReceiver:
публичный класс UnlockReceiver расширяет BroadcastReceiver {

@Override
public void onReceive(Context arg0, Intent intent) {
        if (ActivityB.b != null) {
            ActivityB.b .finish();
        }
}

}

ActivityB:

private Activity b;
onCreate() {
b= this;
}

ActivityB запускается по мере получения push:

Intent pushIntent = new Intent(context.getApplicationContext(), ActivityB.class);
                pushIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

I see the onReceive called fine when I unlock the device, but it doesn’t finsih ActivityB in the background. Поэтому я вижу 2 из тех же приложений в фоновом режиме

2 ответа

  1. Проблема была исправлена после установки ниже свойство в файле манифеста
    android: launchMode= » singleTop»