Я хочу, чтобы служба выполняла stopForeground и stopSelf после нажатия на уведомление с последующим запуском pendingIntent.
Я пытался использовать BroadcastReceiver, который никогда не вызывается, как я проверял во время отладки.Я добавил это, чтобы проявить также.
Intent intentHide = new Intent(this, StopServiceReceiver.class);
PendingIntent hide = PendingIntent.getBroadcast(this, (int) System.currentTimeMillis(), intentHide, PendingIntent.FLAG_CANCEL_CURRENT);
Добавлен в компоновщик
builder.setContentIntent(hide);
И Broadcast Rec выполняется отдельно -
public class StopServiceReceiver extends BroadcastReceiver {
public static final int REQUEST_CODE = 333;
@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, TimerService.class);
context.stopService(service);
}
}
Манифест -
<receiver
android:name=".StopServiceReceiver"
android:enabled="true"
android:process=":remote" />
Это не работает.Уведомление и сервис оба живы.
Вопросы - Должен ли я использовать addContent вместо setContentIntent?Если да, то какими должны быть параметры?Есть ли что-то, с чем я ошибся?Что может быть не так с такой реализацией?Спасибо.