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