В Android 4.1 появилась возможность добавлять кнопки в уведомление.
Для этого используется метод addAction.
Intent deleteIntent = new Intent(this, MyService.class);
deleteIntent.setAction("ru.startandroid.notifications.action_delete");
PendingIntent ...
... не указывать.
Далее создаем уведомление. Все так же, как мы рассматривали в прошлом уроке. Отличаться будет только создание PendingIntent.
// Create PendingIntent
Intent resultIntent = new Intent(this, ...
... по каким-то причинам уже нет, то просто ничего не произойдет.
Обработка нажатия
Чтобы выполнить какое-либо действие по нажатию на уведомление, необходимо использовать PendingIntent. PendingIntent ...
... выше, пользователь может отменить разрешения в настройках приложения.
Intent
Не забывайте, что иногда для работы с контактами, камерой и т.п., вы можете использовать Intent и уже установленные ...
... static final String EXTRA_MODE = "mode";
}
Здесь описаны Enum для режимов экрана и текстовый ключ, для помещения данных в intent.
StartActivity.java:
public class StartActivity extends AppCompatActivity ...
... отправить Intent с action = MediaStore.ACTION_IMAGE_CAPTURE (фото) или MediaStore.ACTION_VIDEO_CAPTURE (видео) и ждать ответ. Т.е. надо использовать методы startActivityForResult и onActivityResult.
Также, ...
... данными и реакция на нажатия.
Опишу вкратце схему заполнения данными. При подготовке виджета в классе провайдера мы для списка присваиваем Intent, который содержит данные для вызова нашего второго класса-сервиса. ...
... реакцию view на нажатие. Для этого он использует PendingIntent. Т.е. мы можем на нажатие на виджет повесить вызов Activity, Service или BroadcastReceiver. В этом уроке сделаем непростой, но достаточно ...
... BroadcastReceiver. Я о нем упоминал в Уроках 96 и 100. Это просто слушатель, который регистрируется в системе, ловит с помощью настроенного Intent Filter сообщения (Intent) и выполняет какой-либо код. ...
... указываем не дочерние элементы, а перенаправления. В первом экране с помощью атрибута android:fragment мы указываем Fragment1, который мы создали в начале урока. А во втором экране указываем intent, который ...
... нового процесса, в котором и запустит сервис
MainActivity.java:
package ru.startandroid.develop.p0991servicenotification;
import android.app.Activity;
import android.content.Intent;
import ...
... потом посредством PendingIntent или BroadcastReceiver.
Но есть и синхронный способ взаимодействия с сервисом. Он достигается с помощью биндинга (binding, я также буду использовать слово «подключение»). ...
В этом уроке:
- получаем из сервиса результат с помощью BroadcastReceiver
В прошлом уроке мы использовали PendingIntent для получения обратной связи от сервиса. В этом уроке для этой же цели ...