如何在Android中定义自定义事件和事件侦听器?

时间:2012-03-04 06:51:55

标签: java android events callback

我是Android应用开发的先驱,我在Java开发方面的经验也很少。

我正在开发一个非常基本的上下文感知应用程序,我想了解如何通知我的活动类某些自定义事件? (与onClick()不同)。所以,如果我有一个负责监控某些资源的类。 (为简单起见,让我们假设一个Timer类,它监视时间并每小时通知Activity类)。

我的活动课如何订阅'并从Timer类中侦听此类事件?

如果您提供一些代码示例以及可能在Android / Java中如何处理事件,我将非常感激。感谢您的时间和帮助!

2 个答案:

答案 0 :(得分:4)

使用Broadcast Intents通知侦听器系统或应用程序/自定义事件..

每当您的自定义事件发生时,

使用Broadcast方法发送sendBroadcast

Intent intent = new Intent(NEW_Intent);
intent.putExtra(“Test”,Test1);
sendBroadcast(intent);

要创建新的广播接收器(将侦听您的事件/广播),请扩展BroadcastReceiver类并覆盖onReceive事件处理程序。onReceive方法将在执行时执行收到Broadcast Intent,该Intent与用于注册接收者的Intent Filter匹配。

在Manifest文件或代码中注册您的接收器..

//在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);

答案 1 :(得分:0)

你可以使用Intent类来做到这一点: http://developer.android.com/reference/android/content/Intent.html