Я немного потерян с PendingIntent.
Насколько я понимаю, это токен, который ОС предоставляет для выполнения более поздних (а значит, ожидающих) операций.
У меня есть активность, которая запустила сервис. Сервис порой создает уведомления.
То, что я пытаюсь сделать, как самое простое, - вывести деятельность на передний план.
Я не уверен, где и как я создаю и кому отправляю PendingActivity.
- Если я создаю его в Деятельности, мне нужно отправить его в службу - КАК?
- Если я создам его внутри службы, каким будет контекст для вызова операции? это одно и то же? - Я думаю, это то же самое, что и ОС, но у меня она не сработала.
Вот несколько строк кода
Это не работает, кстати, StartService получает намерение.
Этот код в моей деятельности
Intent intent = new Intent(this, NeglectedService.class);
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this,
0,
intent,
PendingIntent.FLAG_ONE_SHOT);
startService(contentIntent);
Итак, правильный
Intent intent = new Intent(this, NeglectedService.class);
startService(contentIntent);
Так что я думаю сделать намерение в своем сервисе ожидающим, но это не сработало для меня, так как я не уверен, как повторно использовать / использовать намерение
Notification notification = new Notification(R.drawable.icon,
extra,
System.currentTimeMillis());
PendingIntent contentIntent = PendingIntent.getActivity(this,
0,
intent, // not sure what intent to use here !!!!
PendingIntent.FLAG_ONE_SHOT);
notification.setLatestEventInfo(getApplicationContext(), contentTitle, contentText, contentIntent);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notification.defaults |= Notification.FLAG_INSISTENT;
mNotificationManager.notify(id, notification);