Flutter手机号码选择插件mobile_number_picker的使用
Flutter手机号码选择插件mobile_number_picker的使用
注意:该插件仅适用于Android平台,因为iOS不支持获取手机号码。
Mobile Picker 使用 Google Auth Api 来访问凭证API,并从中检索电话号码提示选择器。
集成步骤
- 创建
Mobile Number Picker
类的对象。
MobileNumberPicker mobileNumber = MobileNumberPicker();
- 调用
mobileNumber()
函数来初始化 Auth API。
mobileNumber.mobileNumber();
- 监听
getMobileNumberStream
来获取事件。
mobileNumber.getMobileNumberStream.listen((event) {});
MobileNumber 类成员
String completeNumber
:返回包括国家代码在内的完整手机号码,例如:+919999999999。String phoneNumber
:返回去掉国家代码后的手机号码,例如:9999999999。String countryCode
:返回所选手机号码的国家代码,例如:+91。enum state
:表示是否选择了手机号码。
状态类型
PhoneNumberSelected
:当用户从提示选择器中选择一个号码时触发。NoneOfTheAbove
:当用户选择“以上都不是”选项或取消选择时触发。
截图
完整示例代码
import 'package:flutter/material.dart';
import 'package:mobile_number_picker/mobile_number_picker.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
[@override](/user/override)
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
MobileNumberPicker mobileNumber = MobileNumberPicker();
MobileNumber mobileNumberObject = MobileNumber();
[@override](/user/override)
void dispose() {
mobileNumber?.dispose();
super.dispose();
}
[@override](/user/override)
void initState() {
super.initState();
// 在框架构建后调用mobileNumber()
WidgetsBinding.instance.addPostFrameCallback((timeStamp) => mobileNumber.mobileNumber());
// 监听getMobileNumberStream获取事件
mobileNumber.getMobileNumberStream.listen((MobileNumber event) {
if (event?.states == PhoneNumberStates.PhoneNumberSelected) {
// 更新状态
setState(() {
mobileNumberObject = event;
});
}
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('手机号码插件'),
),
body: Center(
child: Text(
// 显示手机号码和国家代码
'手机号码: ${mobileNumberObject?.phoneNumber}\n 国家代码: ${mobileNumberObject?.countryCode}',
),
),
),
);
}
}
更多关于Flutter手机号码选择插件mobile_number_picker的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复