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

相关推荐

  • 芜湖阿里云代理商:android网络传输数据

    Android网络传输数据可以使用多种协议和方法。以下是一些常见的方法: HttpUrlConnection类:这是一种基于HTTP协议的传输方式,可以用来发送和接收数据。 HttpClient类:这是另一种基于HTTP协议的传输方式,但已被官方废弃。 OkHttp库:这是一个流行的第三方库,可以用来进行HTTP请求。它提供了更简便的API和更高效的网络传输…

    2024年2月28日
    7200
  • 阿里云应用开发体验版发布不了

    阿里云网站为什么发布不了呢? 亲爱的朋友 可能是你没有使用云服务器的问题 具体以官方消息为准 满意请采纳 祝你网站越来越火 windows怎么在阿里云服务器发布网站 1、从阿里云的控制台进入获取默认的服务器账号和密码(阿里云也会主动发送给你账户密码),好了,然后服务器的登录。 2、windows系列的,使用开始运行->. 使用APICloud开发APP…

    2023年8月26日
    8000
  • 阿里云国际站代理商:api 平台

    阿里云国际站代理商:api 平台 阿里云国际站代理商提供一系列的云计算服务和产品,包括但不限于: 云服务器(ECS): 可扩展的计算资源,适用于多种应用场景,如网站托管、应用开发与测试等。 对象存储(OSS): 海量、安全、高可靠的云存储服务,适合存储和管理各种类型的数据。 关系型数据库(RDS): 高性能、可扩展的数据库解决方案,支持 MySQL、SQL …

    2024年7月9日
    6900
  • 南宁阿里云代理商:阿里巴巴服务器租赁

    南宁阿里云代理商是指在南宁地区代理销售阿里云服务器租赁服务的公司或个人。阿里云是中国领先的云计算服务提供商,提供包括云服务器、云数据库、云存储、云网络等一系列云计算产品和解决方案。 作为阿里云的代理商,南宁地区的企业和个人可以通过代理商获得阿里云服务器租赁服务。阿里云服务器租赁可以满足企业和个人对于弹性、可靠、安全的云计算资源需求。用户可以根据自身需求选择合…

    2023年12月19日
    7600
  • 滁州阿里云代理商:access数据库接口

    滁州阿里云代理商:Access数据库接口的优势和好用之处 引言 在当今信息化时代,数据库是企业存储和管理数据的重要工具。阿里云作为国内领先的云计算服务提供商,不仅提供了强大的基础设施支持,还推出了一系列优秀的数据库接口,其中包括Access数据库接口。本文将结合阿里云的优势,详细介绍Access数据库接口的好用之处。 可靠稳定 阿里云作为中国最大的云计算服务…

    2024年1月26日
    12200

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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