要通过Intent在Android中发送和接收消息,您需要遵循以下步骤:
Intent sendIntent = new Intent("com.example.SEND_MESSAGE");
sendIntent.putExtra("message", "Hello, this is my message!");
这里,我们创建了一个具有自定义动作(“com.example.SEND_MESSAGE”)的Intent对象,并通过putExtra()方法将消息作为额外数据附加到Intent。
sendBroadcast(sendIntent);
使用sendBroadcast()方法将Intent发送给所有注册的广播接收器。
public class MessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if ("com.example.SEND_MESSAGE".equals(action)) {
String message = intent.getStringExtra("message");
// 处理接收到的消息,例如显示Toast或更新UI
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
}
}
在这个类中,我们重写了onReceive()方法,该方法在接收到匹配的Intent时被调用。我们检查Intent的动作是否与我们期望的动作匹配,然后从Intent中提取额外数据(即消息),并对其进行处理。
<application ...>
...
<receiver android:name=".MessageReceiver">
<intent-filter>
<action android:name="com.example.SEND_MESSAGE" />
</intent-filter>
</receiver>
</application>
这将在应用中注册我们的MessageReceiver类,使其能够接收发送的消息。
现在,当您使用上面创建Intent对象发送消息时,MessageReceiver类中的onReceive()方法将被调用,并显示包含接收到的消息的Toast。