江门阿里云代理商:android 短信拦截demo

package com.example.smsinterceptor;

import android.Manifest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

private BroadcastReceiver smsReceiver;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Check for SMS permission
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.RECEIVE_SMS}, 1);
    }

    // Register SMS receiver
    smsReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Bundle extras = intent.getExtras();
            if (extras != null) {
                Object[] pdus = (Object[]) extras.get("pdus");
                for (Object pdu : pdus) {
                    SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdu);
                    String messageBody = sms.getMessageBody();
                    
                    // Add your logic to intercept and process SMS messages
                    if (messageBody.contains("KEYWORD")) {
                        // Block this message
                        abortBroadcast();
                        Toast.makeText(context, "SMS Blocked", Toast.LENGTH_SHORT).show();
                    }
                }
            }
        }
    };

    IntentFilter filter = new IntentFilter();
    filter.addAction("android.provider.Telephony.SMS_RECEIVED");
    registerReceiver(smsReceiver, filter);
}

@Override
protected void onDestroy() {
    super.onDestroy();
    if (smsReceiver != null) {
        unregisterReceiver(smsReceiver);
    }
}

}

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class SmsReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        Object[] pdus = (Object[]) bundle.get("pdus");
        SmsMessage[] messages = new SmsMessage[pdus.length];

        for (int i = 0; i < messages.length; i++) {
            messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
            String sender = messages[i].getOriginatingAddress();
            String messageBody = messages[i].getMessageBody();

            // Add your logic here to check and intercept the sms
            if (sender.equals("1234567890") && messageBody.contains("keyword")) {
                abortBroadcast(); // Block the SMS
                Toast.makeText(context, "SMS from blocked sender intercepted", Toast.LENGTH_SHORT).show();
            } else {
                // Forward the SMS to default messaging app
            }
        }
    }
}

在AndroidManifest.xml中注册SmsReceiver接收器:

江门阿里云代理商:android 短信拦截demo
<receiver android:name=".SmsReceiver">
    <intent-filter android:priority="999">
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>

请注意,这段代码演示了如何拦截指定发送者和包含特定关键字的短信。您可以根据自己的需求对短信内容进行进一步的处理和拦截。在实际应用中,建议添加权限READ_SMSRECEIVE_SMS

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/150090.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年2月19日 19:27
下一篇 2024年2月19日 19:46

相关推荐

  • 阿里云压力测试10万多少钱一次

    笔记本清理灰尘加导热蛙油一次多少钱? 正常。(如果鲁大师这类软件报警不要信,CPU和显卡在90度都可以正常工作)如果仍然觉得偏高风扇呼呼转,导热硅脂出问题的概率很小,一般情况下还是灰尘的原因!(当然和现在是夏天也有关系)在电脑城清理散热器比较贵,大概几十元一次吧。如果自己会弄就不花钱的额。(有的笔记本设计不是很复杂,拆开后面的螺丝就可以看到风扇和散热器了。自…

    2023年8月28日
    26100
  • 芜湖阿里云代理商:ajax请求服务器方法

    芜湖阿里云代理商:ajax请求服务器方法 在现代Web开发中,前端通过Ajax技术与后端进行交互是非常常见的需求。而作为芜湖地区的阿里云代理商,我们提供了一种高效可靠的Ajax请求服务器方法,帮助开发者轻松实现前后端数据传输和交互。 阿里云的优势 1. 高可靠性:阿里云提供了世界级的云计算基础设施,具有高可靠性和强大的稳定性。无论是在网络连接、服务器性能还是…

    2024年1月22日
    30400
  • 阿里云国际站:access 数据库累加出错

    对于阿里云国际站出现的数据库累加出错的问题,可以按照以下步骤进行排查和解决: 确认数据库连接是否正常:检查数据库的连接配置,确认用户名、密码、数据库地址等信息是否正确,确保能够正常连接到数据库。 检查数据库表结构:确认数据库表结构是否正确,表是否存在,字段名是否匹配。如果数据库表结构有变化,可能导致累加操作出错。 检查数据库权限:确保数据库用户具有足够的权限…

    2024年2月14日
    28600
  • 景德镇阿里云企业邮箱代理商:阿里云是干嘛的

    景德镇阿里云企业邮箱代理商:阿里云是干嘛的 阿里云是阿里巴巴集团旗下的云计算服务提供商,提供云计算、大数据、人工智能等一系列云服务。作为国内领先的云计算服务商,阿里云在企业邮箱领域也有着出色的产品和服务。 阿里云企业邮箱的优势 1. 安全可靠 阿里云企业邮箱采用高级加密技术,保障企业邮件的安全性,有效防范垃圾邮件和恶意攻击。同时,阿里云具有多重备份和容灾机制…

    2024年2月18日
    25700
  • 阿里云移动真机测试

    如何测试阿里云主机的性能? 如果你是放网站的话.最直接有效的方法就是把你的网站架设在阿里云主机上面.然后让各个地区的朋友帮你打开测试下实际访问速度与稳定性.LINUX和WIN系统各有优缺点.并没有好坏之分.你若对LINUX不了解的话就更无法发挥它的优势.建议用WIN系统会更方便.海腾数据杨闯为你解答.希望以上回答对你有帮助 谁用过阿里云系统手机,怎么样?流畅…

    2023年8月27日
    32100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/