さまざまなアプローチを試してみましたが、残念ながら、ブロードキャストに渡すインテントの性質についてまだ混乱しているため、少しのガイダンスを期待していました...
ブロードキャストを送信する必要があるアプリケーションがあり、これらの受信者は、現在実行中のアプリのアクティビティです。
だから...私のブロードキャストは現在このようになっています(ここでクラス定義のポイントが何であるかはまだ不明です...特定のものをターゲットにするつもりですか?)しかし、アクティビティでは聞こえません。
私のアプリケーションは現在、次のようなブロードキャストを送信しようとしています:
Intent intent = new Intent(
getPackageName() + ".FOO");//FOO is one of the 7 or so possible Activities that are in the overall app... I don't *want to name it perse, I just don't know what to replace it with
intent.putExtra("com.mything.somethingSpecial", "TIME TO PARTY");
sendBroadcast(intent);
次に、さまざまなアクティビティで、次のようなローカル BroadcastReciever があります。
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//do stuff
};
}
そして onResume 、 onPause のもの...
@Override
public void onPause{
this.unregisterReceiver(this.receiver);
}
@Override
public void onResume(){
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("com.mything.somethingSpecial");
this.registerReceiver(this.receiver, filter);
}
だから、現時点では、ブロードキャストが送信されています(私は思う...私はそれを確認する方法も知らないと思いますが、例外は発生していないので、それは消えていると思います)が、アクティビティはそのコード ブロックに入っていません。