Мое приложение Android использует фильтр намерений для события «NDEF_DISCOVERED», чтобы открыть его, если оно содержит определенный URL-адрес.
Он работает нормально, но я заметил, что, если я помещаю свое приложение в фоновом режиме и нажимаю на тег NFC, запускается новый экземпляр программы . Если я сделаю это несколько раз, я получу несколько экземпляров своего приложения. Это вызывает у меня некоторые проблемы, поэтому я хотел бы найти решение, чтобы открыть только один экземпляр.
Дополнительный комментарий: Когда моя программа находится на переднем плане, я использую enableForegroundDispatch () в onResume и отключаюForegroundDispatch () в onPause. Работает нормально.
Когда моя программа находится в фоновом режиме и когда я нажимаю на метку NFC, существует ли способ, которым система обнаруживает, что программа уже запущена, и помещает ее на передний план вместо запуска нового экземпляра?
Для сравнения, если я помещаю свою программу в фоновый режим, перехожу к списку программ и нажимаю на мою программу, Android обнаруживает, что эта программа уже открыта, и возобновляет ее, не создавая новый экземпляр (onCreate () из MainActivity не вызывается в этом случае). Почему у нас нет одинакового поведения с событиями NFC и возможно ли такое же поведение?
Я читал эту ветку ( Приложение, получающее NFC, всегда высвечивает новый экземпляр перед ), и это тот же вопрос, но он не помог мне найти решение.