AlertDialog
は、ブロック方法であるbluetoothsocket.connect()
の前に表示するように設定されています。ただし、bluetoothsocket.connect()
メソッドが終了するまで、AlertDialog
は表示されません。AndroidのAlertDialogは、bluetoothsocket.connect()の後に表示されません。
myalertdialog.show();
// Dialog is not shown.
mybluetoothsocket.connect(); // This blocks and takes a few seconds to run.
// Dialog is shown.
この現象の原因は何ですか?
は、ブロッキングコードがUIスレッド上で実行するべきではありません。あなたが言及したように私はそれをAsyncTaskに移しました。そして今は完全に動作します。ありがとう!! – pcdangio