Android: как узнать, когда услуга завершена - PullRequest
1 голос
/ 20 апреля 2011

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

У меня все настроено правильно, и в моей базе данных хранится правильная информация. Единственное, в чем я все еще растерялся, так это как сообщить классу активности, что услуга завершена?

Ответы [ 2 ]

1 голос
/ 20 апреля 2011

Вы можете отправить трансляцию, когда ваша услуга завершится.

В вашей деятельности на резюме

IntentFilter intentFilter = ; //Look up how to make an intent filter with an action as specified in the below service code
receiver =new BroadcastReceiver();
this.registerReceiver(receiver, intentFilter);

В вашей активности onPause

this.unregisterReceiver(receiver);

К вашим услугам.

Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.blablablaablla.ACTION_REFRESH");
this.sendBroadcast(broadcastIntent);
0 голосов
/ 20 апреля 2011

Создайте намерение с вашим собственным именем действия "mike.intent.DB_POPULATE_DONE" или чем-то ... это просто строка, которую вы можете проверить в onNewIntent (), если захотите.Служба путем вызова Context.startActivity ().

Чтобы получить намерение, реализуйте Activity.onNewIntent ()

...