поскольку ваша служба уже настроена, просто добавьте в службу широковещательный приемник:
private final BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals("android.provider.Telephony.SMS_RECEIVED")){
}
else if(action.equals(android.telephony.TelephonyManager.ACTION_PHONE_STATE_CHANGED)){
}
}
};
в вашей службе onCreate
сделайте это:
IntentFilter filter = new IntentFilter();
filter.addAction("android.provider.Telephony.SMS_RECEIVED");
filter.addAction(android.telephony.TelephonyManager.ACTION_PHONE_STATE_CHANGED);
filter.addAction("your_action_strings");
filter.addAction("your_action_strings");
registerReceiver(receiver, filter);
и в вашем сервисе onDestroy
:
unregisterReceiver(receiver);
и вы можете получить трансляцию для любых фильтров, в которых вы упоминаете onCreate
. Не забудьте добавить любое разрешение, если требуется. например, для
<uses-permission android:name="android.permission.RECEIVE_SMS" />