You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.0 KiB

import 'dart:io';
import 'package:call_log/call_log.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
import 'package:telephony/telephony.dart';
class MainProvider extends ChangeNotifier {
final telephony = Telephony.instance;
String? st, data, num;
int flag = 0;
String? phoneNum;
callState() async {
CallState state = await telephony.callState;
transState(state.name);
notifyListeners();
}
@override
void addListener(VoidCallback listener) {
super.addListener(listener);
callState();
}
transState(String? callState) async {
if (callState == "IDLE") {
if (flag != 0) {
await getNum();
telephony.sendSms(to: phoneNum!, message: "发送短信内容",isMultipart:true,);
flag = 0;
}
} else if (callState == "RINGING") {
flag++;
} else if (callState == "OFFHOOK") {
flag++;
}
}
getNum() async {
final Iterable<CallLogEntry> result = await CallLog.query();
phoneNum = result.first.number;
}
}