Straight ashamed to write about it. Please tell me how to check the operation of BroadcastReceiver by logging. I insert the code immediately after the onReceive method, red underlines getPackageManager
Here is the receiver class
public class SmsReceiver extends BroadcastReceiver { private static final String SMS_REC_ACTION = "android.provider.Telephony.SMS_RECEIVED"; private static final String LOG_TAG = "myLogs"; @Override public void onReceive(final Context context, final Intent intent) { Intent intent1 = new Intent("android.provider.Telephony.SMS_RECEIVED"); List<ResolveInfo> infos = getPackageManager().queryBroadcastReceivers(intent1, 0); for (ResolveInfo info : infos) { Log.d(LOG_TAG, "Receiver name: " + info.activityInfo.name+ "; priority= " + info.priority); } if (intent.getAction().equals(SmsReceiver.SMS_REC_ACTION)){ StringBuilder sb = new StringBuilder(); Bundle bundle = intent.getExtras(); if (bundle != null){ Object[] pdus = (Object[]) bundle.get("pdus"); for (Object pdu : pdus) { SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu); sb.append("\nAdres: " + smsMessage.getOriginatingAddress()); sb.append("\nAdres: " + smsMessage.getMessageBody()); } } Toast.makeText(context, "Sms Resiver mesage" + sb.toString(), Toast.LENGTH_LONG).show();}}} As they already explained to me, Toast failed, I need to check this by logging.