I've developed an application that receives a Broadcast and then launches an Activity, where that Activity queries a ContentProvider which pulls information out of the DNS in real-time.
I'd like to be able to shuffle this so that instead of going:
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(...);
}
it goes:
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(...);
}
i.e. if the query() returns no data I want to miss out launching the activity, and allow the Broadcast message to fall through as normal.
If the query() does return data, I want that Cursor to be supplied to the Activity, so that I don't have to go and query for the data again.
In turn, the Activity has its own UI which the user needs to respond to.
Is this possible?