为什么即使我的物理设备中有此功能(oneplus ac2001 android11.0-api-30),仍会抛出featurenotsupportedexception?

j1dl9f46  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(357)

我正在尝试实现微软的官方文档。当我尝试将号码转到拨号页时,它会引发异常 FeatureNotSupportedException 根据文件规定,哪些国家
尝试在不支持某个功能的平台上使用该功能时发生的异常。
我使用的是oneplus ac2001 android11.0-api-30,我相信所有手机都必须具备这种基本的拨号功能 PhoneDialer.Open(translatedNumber) ```
async void OnCall(object sender, System.EventArgs e)
{
if (await this.DisplayAlert(
"Dial a Number",
"Would you like to call " + translatedNumber + "?",
"Yes",
"No"))
{
try
{
PhoneDialer.Open(translatedNumber);
}
catch (ArgumentNullException)
{
await DisplayAlert("Unable to dial", "Phone number was not valid.", "OK");
}
catch (FeatureNotSupportedException)
{
await DisplayAlert("Unable to dial", "Phone dialing not supported.", "OK");
}
catch (Exception)
{
// Other error has occurred.
await DisplayAlert("Unable to dial", "Phone dialing failed.", "OK");
}
}
}

uqdfh47h

uqdfh47h1#

你看过文件了吗?
如果项目的目标android版本设置为android 11(r api 30),则必须使用与新包可见性要求一起使用的查询更新android清单。
在properties文件夹下打开androidmanifest.xml文件,并在manifest节点中添加以下内容:

<queries>
  <intent>
    <action android:name="android.intent.action.DIAL" />
    <data android:scheme="tel"/>
  </intent>
</queries>

相关问题