ブロードキャストを受信して を起動するアプリケーションを開発しました。
これは、リアルタイムで DNS から情報を取得するクエリActivityを実行します。ActivityContentProvider
これをシャッフルして、次の代わりに実行できるようにしたいと思います。
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、ユーザーが応答する必要がある独自の UI があります。
これは可能ですか?