tutorial - visual studio android c#
System.Runtime.InteropServices.COMException al iniciar un archivo pdf en Windows Phone (1)
Preste atención a las observaciones en este artículo de MSDN: Launcher.LaunchFileAsync (IStorageFile) :
Enormes aumentos al OP para compartir la solución. El siguiente código debería ayudar a otros a sortear este problema:La aplicación de llamada debe estar visible para el usuario cuando se invoca la API.
Esta API debe invocarse desde una cadena ASTA (también conocida como subproceso de interfaz de usuario).
Deployment.Current.Dispatcher.BeginInvoke(() => { asyncOpenFile(options); });
Intento abrir un archivo pdf usando el siguiente código de trabajo que utilicé previamente en otra aplicación,
pero esta vez recibo System.Runtime.InteropServices.COMException cuando el flujo llega a esta línea: Windows.System.Launcher.LaunchFileAsync (pdffile);
¿Cuál es el significado de esta excepción y cómo deshacerse de ella?
Tenga en cuenta que sin preocuparse por esta excepción (deshabilitarla),
el archivo aún no se puede abrir.
Tenga en cuenta: el archivo existe en mi carpeta aislada (verificada con wpowertool),
Intenté con 2 archivos diferentes, así que no debería ser una cuestión de corrupción de archivos.
public void openFile(string options)
{
System.Diagnostics.Debug.WriteLine("options: " + options);
string optVal = JsonHelper.Deserialize<string[]>(options)[0];
asyncOpen(optVal);
}
public async Task asyncOpen(string filename)
{
filename = filename.Substring(2, filename.Length - 2);
filename = filename.Replace("//", "/").Replace("/", "//");
Windows.Storage.StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
Debug.WriteLine("local: " + local.Path);
Windows.Storage.StorageFile pdffile = await local.GetFileAsync(filename);
Debug.WriteLine("pdffile: " + pdffile.Name);
//// Launch the pdf file.
Windows.System.Launcher.LaunchFileAsync(pdffile);
}
esta publicación de MSDN me pertenece. Sí, el archivo está instalado y tengo Acrobat Reader.
Tenga en cuenta que este código C # es un plugin phonegap / cordova que se llama mediante javascript en mi aplicación híbrida.