什么是 URL Scheme?
转自:>
具体地举个例子,比如你在Safari浏览器(只能Safari)的地址框,输入twitter://postmessages然后确定,你就会直接打开Twitter这个软件并且直接进入发新推的界面(现在就试试呗)。Launch Center Pro等软件就是基于这个原理工作的。 在之前通过系统的URL Schemes甚至可以做到直接打开关闭Wifi等系统设置上的 *** 作。只是后来苹果将这方面功能屏蔽了,所以现在此类的软件就只能做到打开软件,或者执行某项软件的 *** 作了。力道大减。 那么这个URL Schemes我们应该怎么获得呢? 我把它分为两个部分,一用于打开软件的URL Schemes这个是非常容易的。所有软件都可以直接做到。 大家根据刚才的twitter的URL Schemes就能看出来,它的格式是"软件名://"这样的。 所以理论上,我们可以在safari浏览器输入任何软件的名称后面加个冒号和两斜杠来打开软件,比如说输入Music://然后确认,就会直接跳转到音乐。(再试试呗) 但是,当你想尝试你最想尝试的微博的时候,输入Weibo://然后确认,你会发现,这不好使。why? 因为新浪微博的真实的软件名不是这个Weibo,而是sinaweibo所以通过URL Schemes打开软件虽然容易,但是问题就在于去哪搞到正确的软件名。 在iOS设备上 *** 作的办法需要越狱,因为用到iFile: 第一步:打开iFile,在列表里选择“应用程序”,或者进入路径进入/var/mobile/Applications 如果你看到的是乱码,就在设置里将“应用程序名称”这个选项打开: 然后找到你想要的软件,比如说我现在要找“微博HD”: URL Schemes当然不可能有中文,所以我们需要点开这个“微博HD”的文件夹,就会看到WeiboHDProapp: 接着点开WeiboHDProapp,找到“infoplist”: 用文本编辑器打开这个”infoplist”,并搜索“CFBundleURLSchemes”: 下面的就是这个软件的URL Schemes,确切地说微博有两个。 我们把这两个中的任何一个复制下来,再粘贴到Safari里,后面加上冒号和两个斜杠,即sinaweibohd://再按输入,就直接可以跳转到新浪微博里了。另,在电脑端 *** 作的办法不需要越狱,直接用第三方文件管理软件按照上述路径找到infoplist文件然后搜索“CFBundleURLSchemes”,找到URL Schemes就可以了。二用于直接执行某款软件的某项 *** 作的URL Schemes文头提到的:twitter://postmessages就是一个这样的例子。 你在Safari的地址栏输入这条URL,它不仅会帮你打开Twitter这个软件,而且进入的时候就是输入新信息的界面。这个是很方便的,而且再通过一些URL,你甚至可以做到预设好内容。这样你在Safari输入那条URL的时候,不仅会打开twitter、直接进入发送新消息的界面,而且里面已经有了内置的内容。 这虽然听起来不错,但是URL却不是我们可以找到的。 因为每个软件都可以按自己的方式去设定URL (LaunchCenterPro的开发者给其它开发者出了一个简易的为自己的App增加URL Schemes的教程)。不过我们可以按照自己的想法去猜猜某些软件的URL。因为我们看那条Twitter的URL,发送新消息的界面就是”postmessages“,别的发布新消息的URL有可能是也有可能不是这样,但总归是和“新消息”、“发布”等单词有关的单词,总不会说微博发布新消息的URL是:sinaweibo://shit我猜出来了一个Byword的URL,是直接打开并创建新文本的URL:byword://new要猜出来所有你想要的App的执行动作类的URL确实没那么简单,不过很多开发者会在自己的主页公布自己软件的URL,Tweetbot的就非常全面。当然也不是所有的软件的作者都有公布,因为有的软件作者可能软件里都没有这种类型的URL,那就没戏了。handleOpenURL总结了相当多的可用的URL Schemes,不过不怎么有国产的软件,大家可以直接搜索。如果你找到了或者搞到了这个网站上没有的URL Schemes,你还可以直接提交给这个网站。造福后来人。以上就是查找两种URL Schemes的办法,本文不是为小白写的所以还是有经验的人再动手。
首先在app中设置scheme,如下图所示:
data包含属性如下:
1scheme
2host
3port
4path
5pathPattern
6pathPrefix
7ssp
8sspPattern
9ssPrefix
除了scheme后面的都是可选项。
例如:testscheme://lmcom:8080/mainid=2&name=lbm
lmcom代表是host域名,8080端口号port,main为path,
后面的为query参数。
从h5页通过scheme跳转app方式为:
如图第三个a标签。
只要android中配置的scheme与a标签中的testapp2相同就可以调起。a标签中有域名和端口号,path,和参数。android app中只配置了scheme,只要scheme匹配就可以调起。h5配置的参数也可以在activity中获取。获取方式为:
获取的query就是号后面的参数。如果andrid只配置了schemeh5可以写域名端口好及其他的参数,也能调起。
以上就是关于Android 利用scheme协议进行跳转全部的内容,包括:Android 利用scheme协议进行跳转、h5唤醒本地app谷歌地图怎么用、如何找到软件的URL Schemes等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)