处理Android中,设置应用的优先级最高,然而短信应用依然最先收到广播导致无法拦截短信的问题
巴扎黑
巴扎黑 2017-04-17 17:34:25
0
2
534

//拦截短信验证码的广播

    IntentFilter intercptFilter = new IntentFilter();
    intercptFilter.addAction(SmsInterceptReceiver.ACTION_SMS_INTERCEPT);
    intercptFilter.setPriority(Integer.MAX_VALUE);
    smsInterceptReceiver = new SmsInterceptReceiver();
    mContext.registerReceiver(smsInterceptReceiver, intercptFilter);

//发送广播
context.sendOrderedBroadcast(intent, null);

@Override

public void onReceive(Context context, Intent intent) {
    // 拦截短信
    String action = intent.getAction();
    Log.d("打印广播类型:"+action);
    Bundle bundle = intent.getExtras();
    if(bundle==null){
        return;
    }

    if(action!=null&&action.equals(ACTION_SMS_INTERCEPT)){
        Object[] pdus = (Object[])bundle.get("pdus");

        if (pdus != null && pdus.length > 0)
        {
            SmsMessage[] messages = new SmsMessage[pdus.length];
            int length = messages.length;
            for (int i = 0; i < length; i++)
            {
                byte[] pdu = (byte[])pdus[i];
                messages[i] = SmsMessage.createFromPdu(pdu);
            }
            for (SmsMessage msg : messages){
                 // 获取短信内容
                String content = msg.getMessageBody();
                String sender = msg.getOriginatingAddress();
                analysisMessage(sender,content);
            }
            Log.d("是否要向用户显示短信,1是:"+isShowSms);
            if(isShowSms==1){
                abortBroadcast();//拦截短信
            }
        }
    }
巴扎黑
巴扎黑

membalas semua(2)
Ty80

Tiada masalah dengan kod anda, tetapi fungsi yang anda ingin laksanakan tidak begitu baik. Memintas mesej teks telefon tidak boleh dilakukan pada kebanyakan telefon bimbit hari ini, lagipun, mesej teks telefon adalah penggunaan paling asas bagi telefon mudah alih. Kod ini boleh dilaksanakan dalam versi Android awal, tetapi kini Android telah sangat menyekat tingkah laku memintas sistem siaran ini.

迷茫

Selepas Android 4.4, jika aplikasi anda bukan aplikasi SMS sistem, anda tidak akan dapat merebut siaran. Pintasan SMS bukan perkara yang baik

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan