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