0

我目前正在 android 中开发一个正在访问 wifi 值的应用程序,也就是说,该应用程序需要扫描所有接入点及其特定的信号强度。我知道我必须扩展类,BroadcastReceiver覆盖BroadcastReceiver.onReceive(Context context, Intent intent)值准备好时调用的方法。
也许存在由 android 系统本身提供的解决方案,但我对 android 比较陌生,所以我需要一些帮助。
我遇到的问题是我有一个类(一个活动,因此由用户控制)需要这个扫描结果来处理两个不同的事情(首先将值保存在数据库中,或者第二个,将它们用于进一步计算,但不能同时使用两者在某一刻!)那么如何设计回调系统以便“传输”扫描结果onReceive(Context context, Intent intent)到用户预期的操作?我的第一个解决方案是为每个对 wlan 感兴趣的类在查询值时必须提交的用例(保存或用于计算)定义枚举。但这会迫使BroadcastReceiver扩展类保存当前枚举并将其用作查询类的回调函数中的参数(这个查询类需要知道它在被回调时要求什么)
但这在我看来有点脏; )
所以有人对此有个好主意吗?

4

1 回答 1

0

您可能希望在每个活动中使用匿名内部类和/或BroadcastReciever在每个活动中使用派生类的实例,并使用Context#registerReceiver. onRecieve然后让它在被调用时与它的父级交互。我认为您要做的是BroadcastReciever在清单文件中定义 a ,然后以这种方式将数据传递给活动。这不是实现您想要的最佳方式。

于 2010-06-16T22:53:26.723 回答