Получайте обновления в Mainactivity каждый раз, когда BackgroundService активирует - PullRequest
0 голосов
/ 17 октября 2018

У меня есть

public class Backgroundservice implements AlarmReceiverCallback {
private Context context;

public Backgroundservice(Context context) {
    this.context = context;
}

@Override
public void onAlarmReceived() {
   //interface trigger
}}

, теперь я хотел бы расширить Backgroundservice в моем MainActivity классе, который расширяет AppCompatActivity .

так что я могу использовать свой метод внутри mainactivity, как только интерфейс в Backgroundservice получит триггер

Ответы [ 2 ]

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

Мне удалось заставить его работать, создав новый интерфейс

public interface ReceiverCallback {
public void onReceived();}

и реализовав его в моей основной деятельности, а затем создав новый объект из него внутри

    @Override
public void onReceive(Context context, Intent intent)
0 голосов
/ 17 октября 2018

Вы можете использовать BroadCastReceiver

в своем классе обслуживания

public class Backgroundservice implements AlarmReceiverCallback {
    private Context context;

    public Backgroundservice(Context context) {
        this.context = context;
    }

    @Override
    public void onAlarmReceived() {

       // send broadcast from here
       Intent intent  = new Intent("alaram_received");
       context.sendBroadcast(intent);
    }

и в своей основной деятельности получать эту трансляцию.

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Register Receiver
        IntentFilter intentFilter = new IntentFilter("alaram_received");
        registerReceiver(alarm_receiver,intentFilter); 
    }

    BroadcastReceiver alarm_receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            // refresh Token
        }
    };
}

Счастливое кодирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...