我一直在尝试写一个简单的flutter代码,并尝试使用电话发送短信。通过默认的短信应用程序发送短信可以工作(telephony. sendSmsByDefaultApp()),但不能直接从应用程序发送。
我的代码如下:
import 'package:flutter/material.dart';
import 'package:telephony/telephony.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: ElevatedButton(
onPressed: () {
sendSMS();
},
child: Text("Send SMS"),
),
),
),
);
}
void sendSMS() async {
final Telephony telephony = Telephony.instance;
bool? permissionsGranted = await telephony.requestPhoneAndSmsPermissions;
print(permissionsGranted);
await telephony.sendSms(to: "+92xxxxxxxxxx", message: "Hello, this is a test message.");
print("SMS Sent");
}
}
我已添加以下必需权限
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2条答案
按热度按时间mlnl4t2r1#
你能试试密码吗
https://d7networks.com/docs/Messages/Send_Message/
我们需要在https://d7networks.com/平台上有一个帐户。
mqkwyuun2#
您是否尝试过将
ElevatedButton()
中的onPressed()
函数更改为async
函数:然后将
sendSMS()
函数更改为返回Future<void>
,而不是void: