android - sms filter using broadcast receiver -
i trying hide messages inbox,and turned , that's placed in new database....my code smsfilter.java follows
public class smsfilter extends broadcastreceiver{ sqlitedatabase mydb,messagedb; string number; arraylist<string> private_num = new arraylist<string>(); @override public void onreceive(context context, intent intent) { //private named database contains numbers wish hide mydb=context.openorcreatedatabase("private", 0,null); mydb.execsql("create table if not exists tab1(num int(13))"); cursor cur=mydb.rawquery("select * tab1", null); while(cur.movetonext()) { number=cur.getstring(cur.getcolumnindex("num")); private_num.add(number); } if (intent.getaction().equals("android.provider.telephony.sms_received")) { bundle extras = intent.getextras(); if (extras != null) { object[] pdus = (object[])extras.get("pdus"); if (pdus.length < 1) return; stringbuilder sb = new stringbuilder(); string sender = null; (int = 0; < pdus.length; i++) { smsmessage message = smsmessage.createfrompdu((byte[]) pdus[i]); if (sender == null) sender = message.getoriginatingaddress(); string text = message.getmessagebody(); if (text != null) sb.append(text); } for(int i=0;i<private_num.size();i++) { if (sender.equals(private_num.get(i))) { // create new database , insert messages messagedb=context.openorcreatedatabase("message",0, null); messagedb.execsql("create table if not exists tab2(sender int(13),body varchar)"); mydb.execsql("insert tab2 values('"+sender+"','"+sb+"')"); abortbroadcast(); } } } } }} also manifest follows
<uses-permission android:name="android.permission.receive_sms"/> <receiver android:name=".smsfilter"> <intent-filter android:priority="1"> <action android:name="android.provider.telephony.sms_received" /> </intent-filter> </receiver> but can't hide messages receiver....what's reason?.....anyone me...i in trouble....
increase priority highest possible integer..that "intent-filter android:priority="2^32-1"
Comments
Post a Comment