我最近正在研究Windows Phone 8.1的文件共享功能。一种可能性是,通过文件扩展名来完成此操作。我的问题是,我的应用程序究竟如何访问它注册处理的启动文件。
我知道在WP8中,这是通过URI和文件令牌(https://msdn.microsoft.com/en-us/library/windows/apps/jj206987%28v=vs.105%29.aspx)完成的,但由于SharedStorageAccessManager类不再可用,我猜在8.1中必须以不同的方式完成。
那么:当一个应用程序通过文件扩展名启动时,在Win8.1/WP8.1中的“操作系统级别”上会发生什么?目标应用程序实际上是如何获得启动的文件的?
提前感谢!
发布于 2015-03-02 08:31:10
该应用程序可以在其Package.appxmanifest中注册为文件处理程序。在Visual Studio中打开清单设计器,转到“声明”选项卡,然后添加“文件类型关联”声明。系统将提示您填写详细信息。
将使用FileActivatedEventArgs.Files属性中启动的StorageFiles调用应用程序的Application.OnFileActivated方法。
有关文档和演练,请参见How to handle file activation和Association Launching sample。
在系统级,所有这些都存储在注册表中,当对文件调用启动器时,shell查找关联,然后使用COM (或以前的命令行参数或DDE)启动或连接到为该文件类型注册的应用程序。这些细节对Windows运行时应用程序是隐藏的,但更直接地暴露给Windows上的桌面应用程序。请参见文件type and URI associations model Implementing a Custom File Format
https://stackoverflow.com/questions/28795288
复制相似问题