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); } }