我编写了一个小型.NET控制台程序,它将启动Windows 8模拟器.很简单:
using Microsoft.SmartDevice.Connectivity;
using Microsoft.SmartDevice.Connectivity.Interface;
using Microsoft.SmartDevice.MultiTargeting.Connectivity;
MultiTargetingConnectivity connectivity = new MultiTargetingConnectivity(CultureInfo.CurrentUICulture.LCID);
var devices = connectivity.GetConnectableDevices();
ConnectableDevice connectableDevice = devices[2];
Console.WriteLine("Found Connectable Device \'" + connectableDevice.Name + "\' for Device id {" + connectableDevice.Id + "}.");
Run Code Online (Sandbox Code Playgroud)
非常直截了当.但是,我现在要做的是以编程方式与设备进行交互.我知道我可以使用iDevice.installApplication启动我自己的应用程序,但我真正想做的是运行模拟器附带的内置应用程序(邮件应用程序).我可以使用SmartDevice.Connectivitylibs发送触摸,还是启动未显示在GetInstalledApplications()方法中的"隐藏"应用程序?API很稀疏,似乎没有大量开发人员使用它.
我使用Microsoft.SmartDevice.Connectivity连接到Windows Phone 8.1操作系统,其中包含以下链接中的说明:使用控制台应用程序
连接到Windows Phone 8现在我可以连接到Windows Phone 8.1模拟器或Windows Phone 8.1设备,我可以启动任何应用程序使用他们的ProductID.
所以现在我想通过使用这个框架来安装我开发给这些设备的应用程序.我知道WP8.1的XAP包是一个.appx文件.要在此框架中安装1个应用程序,我使用InstallApplication()方法,如下所示:
IRemoteApplication remoteApplication = iDevice.InstallApplication(appID, appID, applicationGenre, iconPath, xapPackage);
Run Code Online (Sandbox Code Playgroud)
哪个appID是ProductID,我在Package.appxmanifest页面中得到它是:
556ee9d4-5640-4120-9916-44b1ca27352f
但我得到的例外是:
"An unhandled exception of type 'Microsoft.SmartDevice.Connectivity.SmartDeviceException' occurred in Microsoft.Smartdevice.Connectivity.dll
Additional information: An attempt was made to move the file pointer before the beginning of the file."
Run Code Online (Sandbox Code Playgroud)
当我使用Visual Studio提供的应用程序部署工具时,可以安装此应用程序,但是当我使用连接框架时,我无法安装它.
那么如何使用连接框架安装此应用程序?
请帮我.谢谢您的帮助.