Отключите 10 секунд тайм-аут на BroadcastReceiver.Разработка Android - PullRequest
0 голосов
/ 18 октября 2018

У меня есть класс IncomingSmsReceiver, который получает смс-сообщение, но проблема в том, что для получения текстового сообщения требуется некоторое время. Я знаю, что класс BroadcastReceiver автоматически останавливает процесс, если он прослушивает более 10 секунд, есть ли способчтобы отключить это?

вот мой код:

public class IncomingSmsReceiver extends BroadcastReceiver {

private ShowDialogInterface callback;


public void onReceive(Context context, Intent intent) {

    if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(intent.getAction())) {
        String messageBody = "no data";
        String messageFrom = "no data";
        for (SmsMessage smsMessage : Telephony.Sms.Intents.getMessagesFromIntent(intent)) {
            messageBody = smsMessage.getMessageBody();
            messageFrom = smsMessage.getDisplayOriginatingAddress();
        }

        if(callback != null) {
            callback.smsDetails(messageFrom, messageBody);
        }
    }
}

public void registerReceiver(ShowDialogInterface receiverCallback) {
    this.callback = receiverCallback;
}

// Show different UI elements to notifying the user of an incoming SMS
public interface ShowDialogInterface {
    void smsDetails(String from, String message);
}
}

Вот моя ошибка отладки: введите описание изображения здесь

С наилучшими пожеланиями,

Noob Android_dev

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете запустить сервис с вашего BroadcastReceiver и выполнять всю работу в нем.Это стандартный способ делать такие вещи.

...