私は、Bluetooth通信を伴うアプリケーションを開発しています。接続を設定するアクティビティが終了しても、Bluetooth通信は続行する必要があります。まず、私はこのためにServiceを使用することを考えており、それは正しい方法であると思われました。しかし、Bluetoothのチャットの例では、通信はサービスではなく別のスレッドで行われます。私は自分のアプリでそのコードを使用し、正しく動作しています。 Bluetooth通信用スレッドを使用しているか、サービスのみを使用する必要がありますか?私のアプリがRAMに入るまで、ブルートゥース通信はアクティブでなければならず、アクティビティ間を切り替えると問題はありません。AndroidでのスレッドまたはサービスでのBluetooth通信?
4
A
答えて
0
これは、Androidのアクティビティのライフサイクルに沿っている点を除いて、別のスレッドと異なる場合がありますが、スレッドが強制終了され、状態が回復できないということです。 Androidが殺されると、Androidはサービスを再起動しようとします。
0
ご質問にお答えするには時間がかかりすぎますが、決して遅くはないと思います。 私は2つのデバイス間でブルートゥース通信を持つアプリケーションを開発しました。私は自分の経験を要約したいと思います。 サービスは非常に重くないバックグラウンドプロセスを実行したいときに通常使用するサービスです(巨大であれば)メインのUIスレッドをブロックし、OSやANRが遅くなる可能性があります。私たちが望んでいないものです。
ブルートゥースコミュニケーションはこれまで実行されていたプロセスで、スレッドを使用して実行する必要があります。これは、別のスレッドとして動作し、メインUIスレッドには影響しません。 私が間違っている場合は私を修正してください。
関連する問題
- 1. バックグラウンドでのBluetooth通信スレッド、サービス、IntentService、AsyncTask ..?
- 2. Android bluetooth通信アクセスモード?
- 3. AndroidでQt 5.2とのBluetooth通信
- 4. Windowsサービスの通信とスレッド
- 5. Androidスレッド通信AsyncTask
- 6. AndroidのUIスレッドと子スレッドの通信
- 7. アスタリスク+ Android、通信サービス
- 8. Android:アクティビティとサービスの通信
- 9. AndroidサービスでBluetoothを接続
- 10. iPhoneでのBluetooth HFP(1.5)通信
- 11. Android bluetoothサービス名
- 12. CとのBluetooth通信
- 13. Android <-> iOSの直接通信(Bluetooth)。出来ますか?
- 14. スレッドの通信
- 15. Androidシステムサービスまたは「通常の」サービス
- 16. Android用のAPI for Bluetoothの即時通知サービスFind me profile
- 17. ASMX Webサービスの問題Windowsサービスと別のスレッドで通信する
- 18. Arduino UNOとMacとBluetooth通信でシリアル通信
- 19. スレッド通信とプロセス通信
- 20. Androidのサービス-活動2ウェイ通信
- 21. スレッド間の通信?
- 22. 間のスレッド通信
- 23. Androidは、ブロードキャストレシーバとサービスとの通信を行い、アクティビティはサービスと通信します。
- 24. AndroidのBluetooth信号強度
- 25. AndroidのジンジャーブレッドまたはアイスクリームサンドイッチでのUSB通信デバイスクラスのサポート
- 26. ZigBeeとBluetoothの間の通信
- 27. OSXとiOSの間のBluetooth通信
- 28. MacとiPhoneの間のBluetooth通信
- 29. スレッド間での通信方法
- 30. Android用Bluetooth通信で使用されているBlockingQueueバッファの実装
サービスではなくスレッドでブルートゥース通信を行うのが適切かどうかを誰かに教えてもらえますか?スレッドとその作業を試してみましたが、後でコードを変更する必要がないようにしたいと思います。 – sunil