我正在为Android开发一个蓝牙应用程序来接收数据并显示它。该应用程序的功能只是通过蓝牙接收数据并显示它。我是android的新手,所以需要帮助。
我已经浏览了蓝牙聊天示例代码。我有一个查询。此处使用的服务用于发送和接收数据。但我的应用程序只会收到并显示。没有发送。任何人都可以帮我修改怎么办?请提供代码更改。
答案 0 :(得分:1)
您可以直接使用蓝牙聊天示例,但在您的接收应用程序中,您根本不会调用sendMessage()方法。
蓝牙聊天示例中的主要活动是BluetoothChat.java。对于您的接收应用程序,您可以从此Activity开始,作为您自己的Activity的基础,修改它以便以您希望的任何格式显示传入数据,而不是使用ListView。因为您的应用程序永远不会发送数据,所以您永远不会调用sendMessage()。如果您真的想要,可以删除sendMessage()方法,并删除用于编写传出消息的EditText。等等。
实际上,上周末我使用蓝牙聊天示例将我的Archos 101变成了我组织的汽车赛道日活动的汽车时间通知板。我将Archos 101放置在人们可以看到的地方,我通过蓝牙从我的HTC Desire发送了它。在发送端和接收端,我只使用蓝牙聊天代码作为基础。在传输应用程序中,我仅使用sendMessage()发送单圈时间;任何可能在handleMessage()中收到的消息都被丢弃了。在接收应用程序中,从未使用过sendMessage(),我只从handleMessage()中的MESSAGE_READ情况中读取数据字节。从那里读出的数据然后存储到SQLite并显示在表格布局中。
答案 1 :(得分:0)
按照下面的代码获取通过蓝牙接收的数据的详细信息
final String pathToWatch1 = android.os.Environment.getExternalStorageDirectory().
toString() + "/bluetooth";
observer = new FileObserver(pathToWatch1)
{
@Override
public void onEvent(int event, String file)
{
if(event == FileObserver.CREATE && !file.equals(".probe")){
Log.v("tag", "blue tooth
[" + android.os.Environment.getExternalStorageDirectory().toString()
+ "/bluetooth" + file + "]");
}
}
};
observer.startWatching();