Before Android 4.4 I was able to stop messages from moving to inbox by setting the priority like this
<receiver android:name="com.serviceschedular.helperClasses.SmsReceiver" >
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
and then abortBroadcast() in onRecieve() messages. However in Android 4.4 we need to define SMS_DELIVER_ACTION in order to make our messaging app as default :
Getting Your SMS Apps Ready for KitKat
By doing this I can receive messages first and they don't move to any other messaging app but I also need to send them to messaging app if it doesn't fill my criteria. So is there any way around to achieve this functionality?