Невозможно добавить окно в BroadcastReceiver

#java #android #broadcastreceiver

#java #Android #broadcastreceiver

Вопрос:

Я пытаюсь отправить электронное письмо в фоновом режиме. Для достижения этой цели я использую эту библиотеку: library, поэтому я создал BroadcastReceiver с кодом библиотеки. Но, к сожалению, у меня ошибка при попытке отправить электронное письмо: невозможно добавить окно — токен null недействителен; выполняется ли ваша активность?Я пытаюсь передать контекст из Activity в BroadcastReceiver, но я думаю, что контекст в Receiver является каким-то отдельным только для этого оператора. Любой совет, чтобы избежать этой ошибки?

Манифест

    <receiver
        android:name=".service.EmailReceiver"
        android:enabled="true"
        android:exported="true">
        <intent-filter>
            <action android:name="BackgroundProcessEmail" />
        </intent-filter>
    </receiver>
  

BroadcastReceiver

  @Override
public void onReceive(final Context context, Intent intent) {

  
    String email=intent.getStringExtra("email");
    String password=intent.getStringExtra("password");


        String deviceModel = Build.MANUFACTURER
                  " "   Build.MODEL;

        assert email != null;
        assert password != null;
        BackgroundMail.newBuilder(context)
                .withUsername(email)
                .withPassword(password)
                .withSenderName("Full")
                .withMailTo("email")
                .withType(BackgroundMail.TYPE_PLAIN)
                .withSubject("Your device "   deviceModel  " achieved")
                .withBody("")
                .withSendingMessage("Sending email")
                .withOnSuccessCallback(new BackgroundMail.OnSendingCallback() {
                    @Override
                    public void onSuccess() {

                    }

                    @Override
                    public void onFail(Exception e) {

                        Toasty.error(context, "E-mail sent error"   e.getMessage(), Toasty.LENGTH_LONG).show();
                    }
                })
                .send();

}