プライオリティを使用できますか
android:priority
と
Context.sendBroadcast
また、またはそれとは異なる結果が得られます
Context.sendOrderedBroadcast
ありがとう
プライオリティを使用できますか
android:priority
と
Context.sendBroadcast
また、またはそれとは異なる結果が得られます
Context.sendOrderedBroadcast
ありがとう
android: priority
いいえ、一緒には使えませんsendBroadcast
。ドキュメントが言うように:
android: priority
これは、ブロードキャスト メッセージを受信するためにブロードキャスト レシーバが実行される順序を制御します。優先度の値が高いものは、値が低いものより先に呼び出されます。(順序は同期メッセージにのみ適用されます。非同期メッセージでは無視されます。) この属性は、ブロードキャストを受信する特定の順序を本当に強制する必要がある場合、または Android に特定のアクティビティを他のアクティビティよりも優先させたい場合にのみ使用します。
について知っていることを見てみましょsendBroadcast
うNormal broadcast
。
通常のブロードキャスト ( で送信Context.sendBroadcast
) は完全に非同期です (順序どおりではありません)。ブロードキャストのすべてのレシーバーは未定義の順序で、多くの場合同時に実行されます。これはより効率的ですが、レシーバーがここに含まれる結果または中止 API を使用できないことを意味します。
の場合sendOrderedBroadcast
、これは次のOrdered broadcast
とおりです。
順序付けされたブロードキャスト ( で送信Context.sendOrderedBroadcast
) は、一度に 1 つのレシーバーに配信されます。各レシーバーが順番に実行されると、結果を次のレシーバーに伝達したり、ブロードキャストを完全に中止して他のレシーバーに渡さないようにしたりできます。レシーバーが実行される順序は、一致するインテント フィルターの属性で制御できます。android:priority
同じ優先順位のレシーバーは任意の順序で実行されます。