搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
weixin_40725706
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
离线存储网页服务器无响应,网页保存应注意的问题
2
大数据分析培训课程python时间序列预测SARIMAX模型教程
3
【算法】动态规划法_如何从动态规划算法所生成的表中
4
在安卓手机上安装Ubuntu详细教程(无需root)_安卓无root装ubuntu
5
最新互联网大厂职位薪资,快来对号入座吧_大厂架构师年薪结构
6
Do not mutate vuex store state outside mutation handlers.
7
pmp公式整理一览_pmp 静态回收期 动态回收期
8
load a PyTorch model from a TF 2.0 checkpoint, please set from_tf=True
9
<el-tabs>Tabs 标签页增加标签页按钮样式优化_el-tabs before-leave
10
Macbook M1版安装安卓模拟器_mac m1 安卓模拟器
当前位置:
article
> 正文
iOS5 拦截短信_ctmessagecenterdelegate
作者:weixin_40725706 | 2024-05-02 20:12:04
赞
踩
ctmessagecenterdelegate
http://blog.csdn.net/laigb/article/details/6617264
引用
项目首先,导入CoreTelephony.framework,OK 不需要别的包了,仅此而已!
在AppleDelegate.m中写上如下代码:
C++代码
//extern id allIncomingMessages;
//extern int incomingMessageCount;
extern
NSString*
const
kCTSMSMessageReceivedNotification;
extern
NSString*
const
kCTSMSMessageReplaceReceivedNotification;
extern
NSString*
const
kCTSIMSupportSIMStatusNotInserted;
extern
NSString*
const
kCTSIMSupportSIMStatusReady;
//typedef struct _CTCall CTCall;
extern
NSString *CTCallCopyAddress(
void
*, CTCall *);
void
* CTSMSMessageSend(id server,id msg);
typedef
struct
__CTSMSMessage CTSMSMessage;
NSString *CTSMSMessageCopyAddress(
void
*, CTSMSMessage *);
NSString *CTSMSMessageCopyText(
void
*, CTSMSMessage *);
int
CTSMSMessageGetRecordIdentifier(
void
* msg);
NSString * CTSIMSupportGetSIMStatus();
NSString * CTSIMSupportCopyMobileSubscriberIdentity();
id CTSMSMessageCreate(
void
* unknow
/*always 0*/
,NSString* number,NSString* text);
void
* CTSMSMessageCreateReply(
void
* unknow
/*always 0*/
,
void
* forwardTo,NSString* text);
id CTTelephonyCenterGetDefault(
void
);
void
CTTelephonyCenterAddObserver(id,id,CFNotificationCallback,NSString*,
void
*,
int
);
void
CTTelephonyCenterRemoveObserver(id,id,NSString*,
void
*);
int
CTSMSMessageGetUnreadCount(
void
);
引用
回调函数:
C++代码
static
void
callback(CFNotificationCenterRef center,
void
*observer,CFStringRef name,
const
void
*object, CFDictionaryRef userInfo){
// NSLog(@"%@",name);
NSString *strNotficationName=(NSString*)name;
if
([strNotficationName isEqualToString:@
"kCTMessageReceivedNotification"
]) {
int
a=0;
}
// NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
@synchronized(nil) {
if
(!userInfo)
return
;
if
([[(NSDictionary *)userInfo allKeys]
containsObject:@
"kCTMessageIdKey"
])
// SMS Message
{
NSDictionary *info = (NSDictionary *)userInfo;
CFNumberRef msgID = (CFNumberRef)[info objectForKey:@
"kCTMessageTypeKey"
];
int
result;
CFNumberGetValue((CFNumberRef)msgID, kCFNumberSInt32Type, &result);
Class CTTelephonyCenter=NSClassFromString(@
"CTTelephonyCenter"
);
Class CTMessageCenter = NSClassFromString(@
"CTMessageCenter"
);
id mc = [CTMessageCenter sharedMessageCenter];
int
count=[mc incomingMessageCount];
id mcarr=[mc allIncomingMessages];
// id incMsg =[mc incomingMessageWithId:result];
// if (count==0) {
// return;
// }
id incMsg = [[mc allIncomingMessages] objectAtIndex:0];
int
msgType = (
int
)[incMsg messageType];
if
(msgType == 1)
//experimentally detected number
{
id phonenumber = [incMsg sender];
NSString *senderNumber = (NSString *)[phonenumber canonicalFormat];
id incMsgPart = [[[[incMsg items] objectAtIndex:0] retain] retain];
NSData *smsData = [[[incMsgPart data] retain] retain];
// NSString *smsText = (NSString*)[[NSString alloc] initWithData:smsData encoding:NSASCIIStringEncoding] ;
NSString *smsText = [NSString stringWithUTF8String:[smsData bytes]];
NSLog(@
"senderNumber = %@,text =%@"
,senderNumber,smsText);
}
}
}
// [pool release];
}
引用
注入监听:
C++代码
- (
BOOL
)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
id ct = CTTelephonyCenterGetDefault();
CTTelephonyCenterAddObserver(ct, NULL, callback, NULL, NULL, CFNotificationSuspensionBehaviorDrop);
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/weixin_40725706/article/detail/525866
推荐阅读
article
九、
回归
——
XGBoost
算法_
xgboost
回归
模型
...
一、Xgboost
模型
参数 Xgboost
模型
有3种类型的参数:通用参数、辅助参数和任务参数。通用参数确定上升过程...
赞
踩
article
Spring
boot
项目
以
jar
包
部署
docker
_
jar
直接跑 还是
docker
资源消耗...
Spring
boot
项目
以
jar
包
部署
docker
首要前提是已经安装好
docker
,本次使用的系统的CentOS7和...
赞
踩
article
区域
入侵
AI
算法
如何应用在
工地
场景,保卫
工地
施工
安全
?_
摄像头
围栏
入侵
识别...
TSINGSEE青犀智能分析网关
区域
入侵
算法
可以预先划定堆放与设备操作
区域
,并添加设备禁止移动或操作, 来进行检测与报警...
赞
踩
article
Python
学习
之旅预告:
深入
机器
学习
的
奇妙世界 —— 从基础到前沿...
对未来几篇博客做一个预告,开始探讨深度
学习
领域。
Python
学习
之旅预告:
深入
机器
学习
的
奇妙世界 —— 从基础到前沿 ...
赞
踩
article
如何在
Ubuntu
22.04 上安装
Apache
Web
服务器
_
ubuntu
安装apach...
Apache
HTTP
服务器
是世界上使用最广泛的
Web
服务器
。它提供了许多强大的功能,包括动态可加载模块、强大的媒...
赞
踩
article
安卓
bp
文件
详解_
android
.
bp
...
Blueprint是生成、解析Android.
bp
的工具,是Soong的一部分。Soong还会编译生成一个
android
...
赞
踩
article
CleanMyMac
X2024
免费垃圾
清理
优化软件
下载
...
近日,我的苹果电脑似乎遭遇了一点小麻烦,每当深入工作或沉浸于娱乐之时,突如其来的一个警告弹窗就像一颗冰凉的霰弹,打断了我...
赞
踩
article
2024深入评测
CleanMyMac
X4.14
.6
破解版
新
的
功能
...
一键清理
CleanMyMac
X4.14
.6
破解版
的
一键清理
功能
是其最大
的
亮点之一。通过点击一键扫描,软件会自动检测并清...
赞
踩
article
Webstorm
和VsCode 统一
格式化
配置_
webstorm
vue
格式化
...
6.根目录新建lint-staged.config.js。5.根目录新建.prettierrc.js。4.根目录新建.e...
赞
踩
article
【KBQA】
医疗
知识
图谱
的
问答
系统
实现_面向中文
医学
文本的
知识
图谱
通用评测
系统
设计....
医疗
知识
图谱
是一种揭示
医学
实体之间关系的语义网络,可以用于支持
医疗
领域的智能应用,例如
问答
、诊断、推荐等。
医疗
知识
图谱
构...
赞
踩
article
全网最详细
教程
(小白也能学会!):
Linux
网络
配置
与
Hadoop
集群部署_
linux
配置
hadoo...
本文主要内容涉及到
Linux
网络
配置
、主机名修改、用户root权限、jdk环境
配置
、
hadoop
配置
hadoop
伪分布式...
赞
踩
article
行为
型
模式
的设计
模式
笔记
_
行为
模式
笔记
...
此
笔记
是在软件秘笈-设计
模式
那点事上做的
笔记
一.责任链
模式
1.设计思路类似于学生请假,先写假条给班长,班长看是否能处理,...
赞
踩
article
C#调用
webapi
HTTPS
报错:
基础
连接
已经关闭- 未能为 SSL-TLS
安全
通道建立信任关...
SSL网站,
连接
时需要提供证书,对于非必须提供客户端证书的情况,只要返回一个
安全
确认即可。我的是.NET FrameWo...
赞
踩
article
Android
.
bp
文件、
Android
.
mk
文件、
makefile
文件、android
mk
、blu...
一、常在手机驱动开发过程中,一般都会碰到
bp
,
mk
,
makefile
,
soong
,buleprint,
Ninja
等相互作...
赞
踩
article
微信小
程序
之
获取
并
解密
用户
数据
(
获取
openId
、
unionId
)...
【版权声明:本文为博主原创文章,若需转载,请注明出处。】 前言 微信小
程序
API文档:https://mp.weixin...
赞
踩
article
android
bp
文件
_
Android
.
bp
简介...
Android
.
bp
简介大部分内容来自官方文档,本文目的为用于备份查询。
Android
编译系统从
Android
7...
赞
踩
article
【打工日常】使用
docker
部署
在线
PDF
工具
_
docker
搭建
在线
pdf
...
Stirling-
PDF
是一款功能强大的本地托管的基于 Web 的
PDF
操作工具,使用
docker
部署
。该自托管 ...
赞
踩
article
Java
_
从入门
到
Java
EE
_
06...
直
到
getFactorial(1) —> return 1 (同时释放getFactorial(1)方法) —> get...
赞
踩
article
ffmpeg
裁剪
视频,提取
关键帧
_
ffmpeg
裁剪
掉
关键帧
之后...
import os.path as ospimport osdef mkdir
_
if
_
missing(d): if no...
赞
踩
article
决策
边界
逻辑
回归
中的
多项式
特征 多
分类
问题_多类别
逻辑
回归
决策
边界
...
决策
边界
逻辑
回归
中的
多项式
特征 多
分类
问题_多类别
逻辑
回归
决策
边界
多类别
逻辑
回归
决策
边界
...
赞
踩
相关标签
Xgboost
docker
java
spring boot
人工智能
安全
机器学习
服务器
ubuntu
apache
安卓配置文件
bp
数据库
编辑器
CleanMyMac破解版
CleanMyMac
webstorm
vscode
vue.js
NLP
知识图谱
对话系统
关系抽取
命名实体识别
hadoop