Я разработал приложение, которое получает трансляцию, а затем
запускает Activity
, где Activity
запрашивает ContentProvider
который извлекает информацию из DNS в режиме реального времени.
Я хотел бы иметь возможность перемешать это так, чтобы вместо:
BroadcastReceiver.onReceive() {
Intent intent = new Intent(...);
intent.setData(...); // set a single String data
context.startActivity(intent);
}
Activity.onCreate() {
String value = intent.getData(); // get the String data
Cursor = ContentProvider.query(search);
...
setContentView(...);
}
идет:
BroadcastReceiver.onReceive() {
Cursor = ContentProvider.query(...);
if (cursor != null) {
Intent intent = new Intent(...);
// how do I pass the cursor?
getContext().startActivity(intent);
}
}
Activity.onCreate() {
// how do I retrieve the cursor?
setContentView(...);
}
т.е. если query()
не возвращает никаких данных, я хочу пропустить запуск
Activity
и разрешить широковещательное сообщение проваливаться как обычно.
Если query()
возвращает данные, я хочу, чтобы Cursor
был предоставлен
Activity
, так что мне больше не нужно запрашивать данные.
В свою очередь, Activity
имеет собственный пользовательский интерфейс, на который пользователь должен ответить.
Возможно ли это?