2013-04-29 4 views
0

Я занимаюсь разработкой службы, начатой ​​с активности. Служба запускает поток, который после долгой работы должен вызывать метод из действия. Как я могу доставить ссылку на активность в поток?Получение контекста в службе

+0

Вам необходимо приложить усилия для исследования услуг Android. –

ответ

0

Вы можете просто связаться со службой, чтобы ее запустить. Когда вы ограничены, вы получаете привязку в своей деятельности и регистрируете обратный вызов в своей службе. Когда ваш поток завершен, вы вызываете метод обратного вызова, который подходит к вашей активности.

Другими словами, используйте bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE) и получить связующее от реализации serviceConnection

private static ServiceConnection mServiceConnection = new ServiceConnection() { 

    @Override 
    public void onServiceDisconnected(ComponentName name) { 

    } 

    @Override 
    public void onServiceConnected(ComponentName name, IBinder service) { 

     mBinder = (YourBinder) service; 
     mBinder.registerCallback(yourCallbackImplementation); 


    } 
}; 

И вы используете yourCallbackImplementation, чтобы получить сообщения от службы.

Смежные вопросы