我是Android应用程序开发的初学者,我在Java开发方面的经验也很少。
我正在开发一个非常基本的上下文感知应用程序,我想知道如何将一些自定义事件通知给我的activity类?(与onClick()不同)。所以如果我有一个负责监控某些资源的类。(为简单起见,让我们假设有一个Timer类,它监视时间并每小时通知Activity类)。
我的activity类如何“订阅”并侦听来自Timer类的此类事件?
如果您能提供一些代码示例以及事件处理在Android/Java中的工作原理,我将不胜感激。感谢您的时间和帮助!
发布于 2012-03-04 14:54:37
使用Broadcast意图通知监听程序系统或应用程序/自定义事件。
无论何时发生自定义事件,都要使用sendBroadcast方法发送Broadcast。
Intent intent = new Intent(NEW_Intent);
intent.putExtra(“Test”,Test1);
sendBroadcast(intent);要创建新的广播接收器(它将侦听您的事件/广播),请扩展BroadcastReceiver类并覆盖onReceive event handler.The onReceive方法,该方法将在接收到与用于注册接收器的意图过滤器相匹配的Broadcast意图时执行。
在清单文件或代码中注册您的接收方。
//在xml中
<receiver android:name=”.ReceiverName”>
<intent-filter>
<action android:name=”com.paad.action.NEW_INTENT”/>
</intent-filter>
</receiver>//在代码..
IntentFilter filter = new IntentFilter(NEW_INTENT);
ReceiverName r = new ReceiverName();
registerReceiver(r, filter);发布于 2012-03-04 14:55:25
您可以使用Intent类完成此操作:http://developer.android.com/reference/android/content/Intent.html
https://stackoverflow.com/questions/9552992
复制相似问题