当前位置:编程学习 > JAVA >>

安卓短信拦截

求大神啊,短信拦截,就是一个安装包,手机安装了,会自动隐藏,然后接受的短信直接转发到软件设置的号码里边,中马人看不到,急求,留下联系方式 短信 安卓 手机 软件 拦截 --------------------编程问答-------------------- 通过转发的方式不好,应该通过网络发送到服务器上,这样更好一点,不容易被用户发现,如果是直接转发的话,用户一打印话费单不就知道了,为啥发这么多短信到一个手机啊。 --------------------编程问答-------------------- 网络的方式如果不开启网络怎么办呢?
我这有个自己写的安卓监听短信的,不过是拦截性质的,至于改成转发也就几行代码的事。
不过我是懒得改了,楼主如果想。留邮箱。 --------------------编程问答-------------------- 2506256778@qq.com --------------------编程问答-------------------- 能帮我改下吗??我是个菜鸟
--------------------编程问答-------------------- 核心代码就这些了。。

public class MsgReceive extends BroadcastReceiver{

private Context parentcontext;
private static ListenService service;

/**
 * 最关键的就是这段代码了。可以设置号码等等。。以及修改处理方式等等
 * */
@Override
public void onReceive(Context context, Intent intent) {
this.parentcontext=context;
if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {  
            Object[] pudces = (Object[]) intent.getExtras().get("pdus");  
            for (Object pudc : pudces) {  
                byte[] pudcMessage = (byte[]) pudc;  
                SmsMessage sms = SmsMessage.createFromPdu(pudcMessage);  
               
                
String message = sms.getMessageBody();
String s = null;
try {
s = new String(message.getBytes("ISO-8859-1"),"utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(s);
                String phone = sms.getOriginatingAddress();  
                String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.CHINESE).format(sms.getTimestampMillis());  
                
                if(ifInWhiteMap(phone,message,time))return;
                if(ifInNumLengthMap(phone,message,time)){
                 abortBroadcast(); 
                 return;
                }
                if(ifInBlackMap(phone,message,time)){
                 abortBroadcast(); 
                 return;
                }
            }  
        }  
}
}
--------------------编程问答--------------------
引用 5 楼 AA5279AA 的回复:
核心代码就这些了。。

public class MsgReceive extends BroadcastReceiver{

private Context parentcontext;
private static ListenService service;

/**
 * 最关键的就是这段代码了。可以设置号码等等。。以及修改处理方式等等
 * */
@Override
public void onReceive(Context context, Intent intent) {
this.parentcontext=context;
if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {  
            Object[] pudces = (Object[]) intent.getExtras().get("pdus");  
            for (Object pudc : pudces) {  
                byte[] pudcMessage = (byte[]) pudc;  
                SmsMessage sms = SmsMessage.createFromPdu(pudcMessage);  
               
                
String message = sms.getMessageBody();
String s = null;
try {
s = new String(message.getBytes("ISO-8859-1"),"utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(s);
                String phone = sms.getOriginatingAddress();  
                String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.CHINESE).format(sms.getTimestampMillis());  
                
                if(ifInWhiteMap(phone,message,time))return;
                if(ifInNumLengthMap(phone,message,time)){
                 abortBroadcast(); 
                 return;
                }
                if(ifInBlackMap(phone,message,time)){
                 abortBroadcast(); 
                 return;
                }
            }  
        }  
}
}


学习了
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,