【发布时间】:2019-07-02 13:57:17
【问题描述】:
我正试图在尝试连接到我从 ListView 中选择的Bluetooth 设备之前显示 Toast 消息,但问题是连接后会出现 Toast 消息,以便用户可以知道他们的设备当前是否正在尝试连接到选定的 BT 设备。应该是这样的:
- 从
ListView中选择的设备 - Toast 消息:“正在连接...”
-
btSocket.connect()已被调用并成功连接 - Toast 消息:“已连接!”
相反,它是这样发生的:
- 从
ListView中选择的设备 -
btSocket.connect()已被调用并已成功连接 - Toast 消息:“已连接!”
- Toast 消息:“正在连接...”
请注意,当尝试连接到 btSocket 时,应用会冻结,然后解冻并继续其工作。
示例代码:
listView_myDevices.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
BluetoothSocket btSocket;
// ... Determine which device is selected, etc.
Toast.makeText(MyActivity.this, "Connecting...", Toast.LENGTH_SHORT).show();
btSocket.connect();
Toast.makeText(MyActivity.this, "Connected!", Toast.LENGTH_SHORT).show();
// ...
}
});
【问题讨论】:
-
我对你这句话“设备已连接”没有清楚的理解..它来自哪里?
-
@AbdulWaheed 我已经编辑了我的帖子。很抱歉造成混乱。
-
你确定你有完整的onItemClick事件代码吗?
-
@AbdulWaheed 我认为没有必要。一切都被调用没有问题。我已经确认使用断点,但是在调用
Connecting...消息后,它没有出现,它卡在btSocket.connect();上,建立连接并调用Connected!toast,然后调用@987654332之后@吐司。
标签: java android bluetooth android-toast