タイトルが示すように、BroadcastReceiver onReceive()
メソッドを非同期で実行する方法はありますか?
その実装に基づいて、androidonReceive()
はメイン スレッドでメソッドを実行します。
を使用しBroadcastReceiver
て、USB デバイスと通信する許可を明示的に要求しています。パーミッションの要求ダイアログ ボックスがパーミッションを受け取ると、onReceive()
メソッドが呼び出されますが、メソッドはメイン スレッドで実行されるため、完了したときに通知する方法はありません (少なくとも、私が知っていることではありません)。ブール値フラグをポーリングすると、メイン スレッドがブロックされ、onReceive()
メソッドの呼び出しがブロックされます。
非同期呼び出しを行う方法onReceive()
はありますか、または明示的に (マニフェストでインテント フィルターを使用せずに) 許可を要求して USB デバイスに接続する別の方法はありますか?
編集:許可が取得され、接続が確立されるまでメソッドがブロックされるようにしたいと思います。