在Android 11中,我们可以使用WebOTP API来获取手机号码。以下是实现的代码示例:
async function getPhoneNumber() {
try {
const result = await navigator.credentials.get({
otp: {transport:['sms']},
signal: new AbortController().signal
});
if (result) {
const phoneNumber = result?.id.split(':')[1];
console.log(`User's phone number is ${phoneNumber}`);
return phoneNumber;
}
} catch (error) {
console.error(`Error: ${error.name}`);
}
}
在这个例子中,我们使用WebOTP API来获取用户的手机号码,然后将其返回并输出到控制台中。这个方法不需要READ_PHONE_NUMBERS权限,并且可以在PWA中使用。