Update MonitorService.java
parent
7681db0596
commit
d8523a3f3c
|
|
@ -32,31 +32,47 @@ public class MonitorService extends Service {
|
||||||
private String lastPhoneNumber = null;
|
private String lastPhoneNumber = null;
|
||||||
private long lastCallTime = 0;
|
private long lastCallTime = 0;
|
||||||
private static final long HEARTBEAT_INTERVAL_MINUTES = 10; // 10分钟
|
private static final long HEARTBEAT_INTERVAL_MINUTES = 10; // 10分钟
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务创建时调用的函数。
|
||||||
|
* 该函数在服务创建时被系统自动调用,用于初始化服务的相关操作。
|
||||||
|
* 无参数和返回值。
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate(); // 调用父类的onCreate方法进行初始化
|
||||||
Timber.d("监控服务 onCreate");
|
Timber.d("监控服务 onCreate"); // 记录日志,表示监控服务创建
|
||||||
startForegroundService();
|
startForegroundService(); // 启动前台服务,保证服务不会被系统轻易杀死
|
||||||
networkUtils = new NetworkUtils(this);
|
networkUtils = new NetworkUtils(this); // 初始化网络工具类
|
||||||
scheduleHeartbeat(this); // 启动心跳定时任务
|
scheduleHeartbeat(this); // 启动心跳定时任务,用于保持服务的活跃状态或与服务器保持连接
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务启动时的命令处理。
|
||||||
|
*
|
||||||
|
* @param intent 携带启动服务的意图,可能包含来电或短信的信息。
|
||||||
|
* @param flags 启动标志,提供额外数据。
|
||||||
|
* @param startId 一个唯一的整数,标识此启动请求。
|
||||||
|
* @return 返回START_STICKY,如果系统在服务终止后杀死,则重新创建服务并调用onStartCommand(),但不重新传递最后的意图。
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||||
if (intent != null) {
|
if (intent != null) { // 检查传入的Intent是否非空
|
||||||
if (intent.hasExtra("incomingNumber")) {
|
if (intent.hasExtra("incomingNumber")) { // 检查Intent是否包含来电号码
|
||||||
String incomingNumber = intent.getStringExtra("incomingNumber");
|
String incomingNumber = intent.getStringExtra("incomingNumber");
|
||||||
Timber.d("获取到来电信息,号码: " + incomingNumber);
|
Timber.d("获取到来电信息,号码: " + incomingNumber);
|
||||||
sendCallInfoToServer(incomingNumber);
|
sendCallInfoToServer(incomingNumber); // 将来电信息发送到服务器
|
||||||
} else if (intent.hasExtra("sender") && intent.hasExtra("messageBody")) {
|
} else if (intent.hasExtra("sender") && intent.hasExtra("messageBody")) { // 检查Intent是否包含短信信息
|
||||||
String sender = intent.getStringExtra("sender");
|
String sender = intent.getStringExtra("sender");
|
||||||
String messageBody = intent.getStringExtra("messageBody");
|
String messageBody = intent.getStringExtra("messageBody");
|
||||||
Timber.d("获取到短信信息,号码: " + sender);
|
Timber.d("获取到短信信息,号码: " + sender);
|
||||||
sendSmsInfoToServer(sender, messageBody);
|
sendSmsInfoToServer(sender, messageBody); // 将短信信息发送到服务器
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return START_STICKY;
|
return START_STICKY; // 返回服务启动策略
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void sendCallInfoToServer(String incomingNumber) {
|
private void sendCallInfoToServer(String incomingNumber) {
|
||||||
Timber.d("sendCallInfoToServer: 处理来电信息");
|
Timber.d("sendCallInfoToServer: 处理来电信息");
|
||||||
if (incomingNumber.equals("null") || incomingNumber == null) {
|
if (incomingNumber.equals("null") || incomingNumber == null) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue