我正在开发一个 Windows Phone 应用程序,并将其定位到 7.1,因此它可以在 wp7 和 wp8 设备上运行。如果应用程序在 wp8 设备上运行,我想运行以下代码:
public async void DefaultLaunch2a()
{
// Path to the file in the app package to launch
var file1 = await ApplicationData
.Current
.LocalFolder
.GetFileAsync("webcam-file.jpg");
if (file1 != null)
{
// Launch the retrieved file
var success = await Windows.System.Launcher.LaunchFileAsync(file1);
if (success)
{
// File launched/y
}
else
{
// File launched/n
}
}
else
{
// Could not find file
}
}
启动器文件类型(打开图像)。我正在尝试通过反思来做到这一点,但我遇到了一些问题。
String name = "file1.jpg";
Type taskDataType2 = Type.GetType("Windows.Storage.StorageFolder, Windows, "
+ "Version=255.255.255.255, Culture=neutral, "
+ "PublicKeyToken=null, "
+ "ContentType=WindowsRuntime");
MethodInfo showmethod2 = taskDataType2.GetMethod("GetFileAsync",
new Type[]
{
typeof(System.String)
});
showmethod2.Invoke(taskDataType2,
new System.String[] { name });
此代码引发异常TargetException: Object does not match target type
- 当我调用该方法时。
怎么了?有没有人已经尝试使用反射编写上面的代码?目标是从设备商店读取图像文件,然后启动Windows.System.Launcher.LaunchFileAsync
. 如果代码在 wp8 设备上运行,我想做类似 mangopollo 的事情。