UWP:如何发送 USSD 请求。 (获取异常,调用 SendMessageAndGetReplyAsync 时)
UWP: How to send USSD request. (Get exception, when call SendMessageAndGetReplyAsync)
请帮我发送 ussd 请求。
IReadOnlyList<string> networkAccIds = MobileBroadbandAccount.AvailableNetworkAccountIds;
if (networkAccIds.Count == 0)
{
return;
}
string networkAccountId = networkAccIds[0];
UssdSession session = UssdSession.CreateFromNetworkAccountId(networkAccIds[0]);
2 sim 卡安装在我的 phone 中。但是 networkAccIds.Count
始终为零。我的错误是什么?
更新 1:
谢谢 。我得到了网络标识符。我有一个新问题。当我这样做时:
UssdReply reply = await session.SendMessageAndGetReplyAsync(new UssdMessage("*100#"));
我遇到异常:
发生意外异常:System.Runtime.InteropServices.COMException (0x80070032): 不支持该请求。
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at uwp_1.MainPage.<GetBalance>d__1.MoveNext()
为什么会出现异常?
2 sim card installed in my phone. But networkAccIds.Count always zero. What's my mistake?
您正在访问 特权 APIs(UssdSession and MobileBroadbandAccount) used by mobile broadband operators. It requires a special-use capability 将在 程序包清单中声明:
<Capabilities>
<r:Capability Name="cellularDeviceIdentity"/>
<r:Capability Name="cellularDeviceControl"/>
<r:Capability Name="cellularMessaging"/>
</Capabilities>
请确保您已经声明了相应的special-use capabilities in package manifest. And the Mobile broadband sample,其中显示了如何使用移动宽带网络API供您参考。
另外:
您的应用程序可以运行,您可以在 phone 上对其进行测试,但它不会通过 WACK(Windows 应用程序认证工具包),因为它使用 special-use capability。此类应用可用于公司应用(无需发布到 Windows 商店)、MS 内部或 OEM/partner。
请帮我发送 ussd 请求。
IReadOnlyList<string> networkAccIds = MobileBroadbandAccount.AvailableNetworkAccountIds;
if (networkAccIds.Count == 0)
{
return;
}
string networkAccountId = networkAccIds[0];
UssdSession session = UssdSession.CreateFromNetworkAccountId(networkAccIds[0]);
2 sim 卡安装在我的 phone 中。但是 networkAccIds.Count
始终为零。我的错误是什么?
更新 1:
谢谢
UssdReply reply = await session.SendMessageAndGetReplyAsync(new UssdMessage("*100#"));
我遇到异常:
发生意外异常:System.Runtime.InteropServices.COMException (0x80070032): 不支持该请求。
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at uwp_1.MainPage.<GetBalance>d__1.MoveNext()
为什么会出现异常?
2 sim card installed in my phone. But networkAccIds.Count always zero. What's my mistake?
您正在访问 特权 APIs(UssdSession and MobileBroadbandAccount) used by mobile broadband operators. It requires a special-use capability 将在 程序包清单中声明:
<Capabilities>
<r:Capability Name="cellularDeviceIdentity"/>
<r:Capability Name="cellularDeviceControl"/>
<r:Capability Name="cellularMessaging"/>
</Capabilities>
请确保您已经声明了相应的special-use capabilities in package manifest. And the Mobile broadband sample,其中显示了如何使用移动宽带网络API供您参考。
另外:
您的应用程序可以运行,您可以在 phone 上对其进行测试,但它不会通过 WACK(Windows 应用程序认证工具包),因为它使用 special-use capability。此类应用可用于公司应用(无需发布到 Windows 商店)、MS 内部或 OEM/partner。