我是Android的新手,所以我希望你能原谅我的无知
我做了一个用我的电话来控制一些蓝牙设备的活动,现在一切正常我想从这个活动中产生一个新类,一个负责所有蓝牙通信的课程。
我有一些问题:
第一:在我的活动中,我使用一个广播接收器来收听蓝牙适配器的一些动作,如STATE_ON,BOND_BONDED ......使用这个动作我更新了我的观点,我称之为一些方法等等。
那么,有可能继续在我的班级内部继续收听广播接收器,然后将更改发送到我的主要活动以更新视图等等吗?
第二:我真的需要将我的蓝牙课程的信息发送到我的主要活动,我从我的设备读取的信息,来自广播接收器的信息......所以,这是在课堂之间传递信息的最佳方式。主要活动?
好的,非常感谢你的帮助:)。
答案 0 :(得分:0)
从主线程调用BroadcastReceiver的onReceive()方法: “此方法始终在其进程的主线程内调用”(http://developer.android.com/reference/android/content/BroadcastReceiver.html#onReceive(android.content.Context, android.content.Intent))。
这意味着您可以从onReceive()方法更新您的ui。您需要做的就是使用像这样的本地类:
BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// update the ui
}
};
以编程方式注册此接收器(而不是在清单中定义它),你很高兴:
Context.registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter)