Java tutorial
/* * Copyright (C) 2013 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.app.smsservice; import android.content.Context; import android.content.Intent; import android.provider.Telephony.Sms.Intents; import android.support.v4.content.WakefulBroadcastReceiver; import com.app.avanstart.util.AppUtils; /** * The main messaging receiver class. Note that this is not directly included in * AndroidManifest.xml, instead, subclassed versions of this are included which allows * them to be enabled/disabled independently as they will have a unique component name. */ public class MessagingReceiver extends WakefulBroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent == null ? null : intent.getAction(); // If on KitKat+ and default messaging app then look for new deliver actions actions. if (AppUtils.hasKitKat()) { if (Intents.SMS_DELIVER_ACTION.equals(action)) { handleIncomingSms(context, intent); } else if (Intents.WAP_PUSH_DELIVER_ACTION.equals(action)) { handleIncomingMms(context, intent); } } else { // Otherwise look for old pre-KitKat actions if (Intents.SMS_RECEIVED_ACTION.equals(action)) { handleIncomingSms(context, intent); } else if (Intents.WAP_PUSH_RECEIVED_ACTION.equals(action)) { handleIncomingMms(context, intent); } } } private void handleIncomingSms(Context context, Intent intent) { // TODO: Handle SMS here // As an example, we'll start a wakeful service to handle the SMS intent.setAction(MessagingService.ACTION_MY_RECEIVE_SMS); intent.setClass(context, MessagingService.class); startWakefulService(context, intent); } private void handleIncomingMms(Context context, Intent intent) { // TODO: Handle MMS here // As an example, we'll start a wakeful service to handle the MMS intent.setAction(MessagingService.ACTION_MY_RECEIVE_MMS); intent.setClass(context, MessagingService.class); startWakefulService(context, intent); } }