質問

開発したアプリケーションに対する受け放送として 開 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 独自のUIのユーザーのニーズに応えます。

可能ですか?

役に立ちましたか?

解決

したいものが少し難しいかも効率的ではない。私の提案をご使用になることかで読み込んだ場合、カーソルの活動は、チェックデータがない場合、その出口であった。

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);

  if(cursor.isEmpty() ...){
    finish();
    return;
  }
  ...
  setContentView(...);
}

この効果は、カーソルのみにロードされ、一度の活動のみ表示される場合もあるのでカーソルを移動させます。のみでオーバーヘッドの目的は、火力発など、そのような課税:)

おなちらつきものは、Androidの場合の呼び出し仕上げonCreate()(だと思いonStartとonResumeどのように、ユーザーになることだった。

他のヒント

する必要がありま由またはカーソルの直列化可能またはParcelable(およびその使用意図するだけでも構いません。setExtra()).も可能なすべてのデータとして送と通るのでしょうか。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top