Выполнение фоновой задачи по нажатию на уведомление android
Мне нужно, чтобы впн туннель выключался при нажатии на уведомление. Я нашел такой код, но не понимаю где писать код, выполняющий, собственно, действие. Если писать в notify_intent, он выполняется сразу, а не при нажатии на уведомление.
var notify_intent = Intent(requireContext(), HomeFragment::class.java).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK
setFlags(flags)
}
val pendingIntent: PendingIntent =
PendingIntent.getActivity(
requireContext(),
0,
notify_intent,
PendingIntent.FLAG_MUTABLE
)
UPD
Дошел до такого решения, но оно все равно не работает
var notify_intent = Intent(requireContext(), NotifyReceiver::class.java)
val pendingIntent: PendingIntent =
PendingIntent.getBroadcast(
requireContext(),
0,
notify_intent,
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
NotifyReceiver:
class NotifyReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
Log.e("TEST", intent.action!!)
val it = Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)
context.sendBroadcast(it)
}
}
Ответы (1 шт):
Автор решения: Лень
→ Ссылка
Объявление в манифесте решило мою проблему.
<receiver android:name=".NotifyReceiver"/>