在通用 Windows 应用程序中测试 SDK
Testing for an SDK in Universal Windows App
我正在创建一个通用的 windows 应用程序,它将在桌面和移动设备上使用。移动设备将使用振动 API.
//Vibrate the device
VibrationDevice.GetDefault().Vibrate(TimeSpan.FromMilliseconds(100));
我已经为项目添加了必要的扩展以允许这样做:
UWP 的Windows 移动扩展当然不会出现在桌面计算机上,因此我需要有条件地 测试以检查 SDK 是否可用,以便我可以执行 Vibrate
方法。
本质上,如果应用程序在桌面上运行,我不想执行Vibrate
方法,否则我会收到异常:
An exception of type 'System.TypeLoadException' occurred in Encore.Scanner.UI.exe but was not handled in user code
Additional information: Requested Windows Runtime type 'Windows.Phone.Devices.Notification.VibrationDevice' is not registered.
有什么方法可以检查SDK是否可用?像这样:
if (...windows mobile extension is present)
{
//Vibrate the device.
VibrationDevice.GetDefault().Vibrate(TimeSpan.FromMilliseconds(100));
}
我找到了我需要的东西。如果将来有人偶然发现这个问题,下面是我实现这一目标的方法。
if (ApiInformation.IsTypePresent("Windows.Phone.Devices.Notification.VibrationDevice"))
{
...
我正在创建一个通用的 windows 应用程序,它将在桌面和移动设备上使用。移动设备将使用振动 API.
//Vibrate the device
VibrationDevice.GetDefault().Vibrate(TimeSpan.FromMilliseconds(100));
我已经为项目添加了必要的扩展以允许这样做:
UWP 的Windows 移动扩展当然不会出现在桌面计算机上,因此我需要有条件地 测试以检查 SDK 是否可用,以便我可以执行 Vibrate
方法。
本质上,如果应用程序在桌面上运行,我不想执行Vibrate
方法,否则我会收到异常:
An exception of type 'System.TypeLoadException' occurred in Encore.Scanner.UI.exe but was not handled in user code
Additional information: Requested Windows Runtime type 'Windows.Phone.Devices.Notification.VibrationDevice' is not registered.
有什么方法可以检查SDK是否可用?像这样:
if (...windows mobile extension is present)
{
//Vibrate the device.
VibrationDevice.GetDefault().Vibrate(TimeSpan.FromMilliseconds(100));
}
我找到了我需要的东西。如果将来有人偶然发现这个问题,下面是我实现这一目标的方法。
if (ApiInformation.IsTypePresent("Windows.Phone.Devices.Notification.VibrationDevice"))
{
...