在Android中,可以通过注册BroadcastReceiver来接收推送消息。以下是一个示例代码,使用SMSManager的onReceive方法同时接收推送消息:
public class PushMessageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 处理接收到的推送消息
String message = intent.getStringExtra("message");
// ...
}
}
...
...
public void sendPushMessage(String message) {
Intent intent = new Intent("com.example.push.MESSAGE_RECEIVED");
intent.putExtra("message", message);
PendingIntent sentIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("destinationPhoneNumber", null, "push message", sentIntent, null);
}
在此示例中,当发送推送消息时,会发送一个带有自定义的action和消息内容的广播。在PushMessageReceiver中的onReceive方法中,可以通过获取广播中的消息内容来处理推送消息。
请注意,此示例仅用于演示如何同时使用SMSManager的onReceive方法接收推送消息,并不是实际的推送消息解决方案。实际的推送消息解决方案可能需要使用其他技术和服务,例如Firebase Cloud Messaging(FCM)或第三方推送服务。