WinRT:通过文件扩展名共享文件会发生什么?

时间:2015-03-01 15:24:53

标签: windows-runtime windows-phone-8.1 windows-8.1 communication

我最近正在研究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中“操作系统级别”会发生什么,目标应用程序如何实际获取已启动的文件?

提前致谢!

1 个答案:

答案 0 :(得分:1)

该应用可以在其Package.appxmanifest中注册为文件处理程序。在Visual Studio中打开清单设计器,转到声明选项卡,然后添加文件类型关联声明。系统会提示您填写详细信息。

将使用Application.OnFileActivatedFileActivatedEventArgs属性中已启动的StorageFiles调用应用的Files方法。

有关文档和演练的信息,请参阅How to handle file activationAssociation Launching sample

在系统级别,这一切都存储在注册表中,当在文件上调用启动器时,shell会查找关联,然后使用COM(或历史命令行参数或DDE)启动或连接到注册的应用程序文件类型。详细信息对Windows运行时应用程序隐藏,但更直接暴露在Windows上的桌面应用程序中。请参阅文件type and URI associations model Implementing a Custom File Format