windows phone 8 新增功能:从一个应用程序启动另一个程序(file association 和 Protocol association两种方式)
一. 启动手机预装内置程序打开文件file association
这里以打开word文档为例子
string fileToLaunch = @"HelloKitty.docx";
// Launch a .docx file that came with the package.
private async void LaunchFileButton_Click(object sender, RoutedEventArgs e)
{
// First, get the word file from the package's doc directory.
var file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(fileToLaunch);
// Next, launch the file.
bool success = await Windows.System.Launcher.LaunchFileAsync(file);
if (success)
{
}
else
{
}
}
二. 启动手机已安装第三方程序Protocol association
a. 首先定义一个遵守Protocol association协议的第三方程序
Protocol association需要在WPAppManifest.xaml注册;
要注册Protocol assocation,必须用XML (Text) Editor打开WPAppManifest.xaml;
必须在</Token>后面添加类似如下代码:
<Extensions> <Protocol Name="mkv" NavUriFragment="encodedLaunchUri=%s" TaskID="_default" /></Extensions>
b. 启动支持mkv协议的第三方程序
Windows.System.Launcher.LaunchUriAsync(new Uri("mkv:HelloKitty"));
三 Windows Phone8系统保留的关联URI, 注意:关键词前的“ :”
bing:[keyword] 打开bing并按照关键词搜索
callto:
dtmf:
http:[url] 在浏览器中打开指定URL
https:[url] 在浏览器中打开指定URL
maps:
mailto:[Email] 打开邮件界面,给指定联系人发送邮件
ms-excel:
ms-powerpoint:
ms-settings-accounts:
ms-settings-airplanemode: 打开飞行模式设置开关
ms-settings-bluetooth: 打开蓝牙设置开关
ms-settings-cellular: 打开手机网络设置开关
ms-settings-emailandaccounts: 打开电子邮件+账户设置开关
ms-settings-location: 打开定位设置开关
ms-settings-lock: 打开锁屏设置开关
ms-settings-wifi: 打开wifi设置开关
ms-word:
office:
onenote:
tel:[phone number] 打开拨号界面呼叫电话,对于省略电话号码,如果当前处于通话中可以直接进入拨号界面.
wallet:
xbls:
zune:navigate?appid=[app ID] 打开Windows Phone商店,并显示指定的应用程序的详细信息页面。
zune:reviewapp
zune:reviewapp?appid=[app ID] 打开Windows Phone商店,并显示指定的应用程序的打分并评论页面。
zune:search?keyword=[search keyword]&publisher=[publisher name]&contenttype=app
打开Windows Phone商店,并按设定的关键词搜索应用程序。注意这里的所有的参数都是可选的,支持中英文关键词。
四:系统支持的内置文件类型 以及系统 保留类型参考 MSDN Reserved file and URI associations for Windows Phone 8
windows phone 8 新增功能:从一个应用程序启动另一个程序(file association 和 Protocol association两种方式)的更多相关文章
- 两种方式,花五分钟就能构建一个 Spring Boot 应用
前言 Spring Boot 的好处自然不必多说,对于想要从事 Java 工作的朋友们来说,可谓是必学的技能. 在我看来,它的优势就是多快好省. 功能多,很多常用的能力都有集成: 接入快,简单的几行代 ...
- 【转】在Android Studio中下载Android SDK的两种方式(Android Studio3.0、windows)
在Android Studio中下载Android SDK的两种方式(Android Studio3.0.windows) 方式一.设置HTTP Proxy1. 打开Settings2. 点击HTTP ...
- 调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)
调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)
- linux中添加一个用户到指定用户组的两种方式,修改一个用户到指定用户组的一种方式
添加一个用户到指定用户组: gpasswd –a 用户名 组名usermod –G 组名 用户名 //第一种:gpasswd –a 用户名 组名 [root@localhost ~]# id user ...
- JS实现把一个页面层数据传递到另一个页面的两种方式
本博客整理了两种方式从一个页面层向另一个页面层传递参数. 一. 通过cookie方式 1. 传递cookie页面的html,此处命名为a.html 请输入用户名和密码: <input id=&q ...
- 比较windows phone程序启动和android程序启动原理
windows phone 程序是如何启动的了,他和android程序有什么区别,我们重点从native code 层面来分析 在windows phone 程序启动的时候是: 在XAML中使用应用程 ...
- 4) 十分钟学会android--建立第一个APP,启动另一个Activity
在完成上一课(建立简单的用户界面)后,我们已经拥有了显示一个activity(一个界面)的app(应用),该activity包含了一个文本字段和一个按钮.在这节课中,我们将添加一些新的代码到MyAct ...
- Unittest 支持 case 失败后自动截图功能的另外两种方式
原生的unittest框架是不支持case失败后自动截图的功能的,网上看了大家的解决办法,大体上分为两种:1.要么加装饰器2.也有人封装断言这里我们看看还有没有其他的更加方便的方法值得大家一起探讨一下 ...
- android intent隐式调用之一个应用程序启动另一个应用程序
理解Intent的关键之一是理解清楚Intent的两种基本用法:一种是显式的Intent,即在构造Intent对象时就指定接收者,这种方式与普通的函数调用类似:另一种是隐式的Intent,即Inten ...
随机推荐
- Appium+python自动化29-toast消息(亲测 ok)
本篇转自博客:上海-悠悠 前言 appium1.5以后的版本才支持toast定位,并且 'automationName'得设置为'Uiautomator2',才能捕获到. 一. Supported P ...
- NGINX通过Stream转发ftp请求
一.NGINX 1.9之前,需要安装第三方的TCP插件: http://www.cnblogs.com/i-blog/p/6165378.html 二.1.9之后直接使用Stream配置就可以了,当然 ...
- spring mvc helloworld 和表单功能、页面重定向
Spring MVC Hello World 例子 这里有个很好的教程:https://www.cnblogs.com/wormday/p/8435617.html 下面的例子说明了如何使用 Spri ...
- vs2017 android demo
vs2017自安装以后就没怎么打开过,虽然12出的时候用10,15出的时候用13,17出的时候用15,但我依然坚持不用也装上再说的理念. 1.vs2017开发IOS和Android安装所必不可少的,u ...
- Python多线程-生产者消费者模型
用多线程和队列来实现生产者消费者模型 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import threading imp ...
- python's thirty-first day for me re模块
正则表达式: re 模块 可以读懂 你写的正则表达式,根据你写的表达式去执行任务. 正则表达式:字符串的操作. 使用一些规则来检测字符串是否符合我的要求 —— 表单验证 从一段字符串中找到符合我要 ...
- mysql跟踪执行的sql语句
修改my.cnf配置文件 /usr/local/mysql/bin/mysql --verbose --help | grep -A 1 'Default options' Default optio ...
- CentOS7上elasticsearch5.5启动报错
ERROR: [2] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too ...
- leetcode682
class Solution { public: int calPoints(vector<string>& ops) { stack<int> ST; ; for ( ...
- Maven 国内源
maven的仓库好慢的说,还是配置一个国内的源吧.推荐aliyun 在maven/conf/settings.xml 文件里配置mirrors的子节点,添加如下mirror <mirror> ...