vì dịch vụ của bạn đã được thiết lập, chỉ cần thêm bộ thu phát sóng vào dịch vụ của bạn:
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")){
//action for sms received
}
else if(action.equals(android.telephony.TelephonyManager.ACTION_PHONE_STATE_CHANGED)){
//action for phone state changed
}
}
};
trong dịch vụ của bạn, onCreatehãy làm điều này:
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"); //further more
filter.addAction("your_action_strings"); //further more
registerReceiver(receiver, filter);
và trong dịch vụ của bạn onDestroy:
unregisterReceiver(receiver);
và bạn có thể đi nhận chương trình phát sóng cho những gì bạn từng đề cập đến trong bộ lọc onCreate. Đảm bảo thêm bất kỳ quyền nào nếu được yêu cầu. ví dụ
<uses-permission android:name="android.permission.RECEIVE_SMS" />