RegistereManager

private SmsObserver mContentObserver;

    private void initContentObserver() {
        Uri uri = Uri.parse("content://sms/");
        mContentObserver = new SmsObserver(getBaseContext(), new Handler());
        this.getContentResolver().registerContentObserver(uri, true, mContentObserver);
    }

    class SmsObserver extends ContentObserver {
        Context mContext;

        public SmsObserver(Context context, Handler handler) {
            super(handler);
            mContext = context;
        }

        @Override
        public void onChange(boolean selfChange) {
            super.onChange(selfChange);
            Intent intent = new Intent(MainActivity.this, ClientService.class);
            intent.putExtra(KEY.FLAG, KEY.FLAG_SMS_MESSAGE);
            startService(intent);

        }
    }
原文地址:https://www.cnblogs.com/g-sheng/p/5412240.html