江门阿里云代理商: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

相关推荐

  • 南宁阿里云代理商:阿里大于短信应用

    阿里大于短信应用是阿里云短信服务产品中的一部分,它是一款可靠、安全、高效的短信发送和管理平台。作为南宁阿里云代理商,我们可以帮助您进行阿里大于短信应用的使用和配置。 阿里大于短信应用可以满足企业在营销推广、用户认证、信息通知等方面的短信发送需求。它具有以下特点: 高可靠性:阿里云拥有全球多节点部署,保证短信的高可用性和稳定性,能够满足高流量场景下的需求。 全…

    2024年1月7日
    17800
  • 宜昌阿里云代理商:安卓开发 存储对象

    阿里云的优势与好用之处 一、可靠稳定的存储服务 阿里云作为国内领先的云计算服务提供商,其存储对象方面拥有显著的优势。首先,阿里云的存储服务具有高可靠性和稳定性,可以有效保证用户数据的安全。阿里云采用了分布式架构和多副本备份策略,确保用户数据在存储时不会丢失或损坏。同时,阿里云还提供了数据冗余和故障恢复机制,即使出现硬件故障或网络中断,用户的数据也能够得到及时…

    2024年1月12日
    16300
  • 厦门阿里云代理商:android sqlite 创建数据库文件

    在Android中创建SQLite数据库是通过继承SQLiteOpenHelper类,然后在onCreate方法中通过SQLite的SQL命令创建数据库。 以下是一个简单的示例: import android.content.Context; import android.database.sqlite.SQLiteDatabase; import andr…

    2024年3月16日
    14300
  • 长沙阿里云代理商:阿里云服务器root权限设置

    在长沙阿里云代理商购买的阿里云服务器上设置root权限,可以按照以下步骤进行操作: 首先,在阿里云官网登录您的账号,进入控制台。 在控制台上找到您购买的阿里云服务器实例,点击进入服务器管理页面。 在服务器管理页面上,点击左侧导航栏中的“实例名称”,进入实例设置页面。 在实例设置页面上,找到“访问控制”模块,点击“更多”按钮选择“重置实例密码”。 在重置实例密…

    2024年2月11日
    17900
  • 阿里云企业邮箱:为什么建议保留原系统备份三个月?

    当然可以!以下是符合你要求的 HTML 格式输出,正文内容不少于1000字,条理清晰,结合了阿里云企业邮箱及代理商优势,且最后有总结段落: 阿里云企业邮箱:为什么建议保留原系统备份三个月? 在企业日常运营中,电子邮件作为信息交流、业务沟通的重要工具,其重要性不言而喻。随着企业数字化转型的不断深入,越来越多企业选择使用阿里云企业邮箱来提升通信效率与数据安全性。…

    4天前
    1300

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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