a) とりあえず sendOrderedBroadcast してみて、 BroadcastReceiver で戻り値を設定し、その結果によって startActivity する
b) Activity が表示中かどうかグローバル変数に覚えておき、その値によって分岐する