[Seek Help] 如何在网页中唤起深度应用
Tofloor
poster avatar
miaoys
deepin
2022-02-01 03:17
Author

就是自己写了个网页,然后希望点击网页上的按钮可以直接唤起深度自带的应用,有大佬知道么?

Reply Favorite View the author
All Replies
神末shenmo
deepin
Spark-App
Q&A Team
2022-02-01 03:47
#1

可以自己写一个应用,定义一种协议,注册mimetype

你可以参考星火应用商店的打包,定义了spk://会拉起星火商店

Reply View the author
miaoys
deepin
2022-02-01 08:52
#2
神末shenmo

可以自己写一个应用,定义一种协议,注册mimetype

你可以参考星火应用商店的打包,定义了spk://会拉起星火商店

可以唤起deepin自身的应用么,比如资源监视器这个,不是自己做的应用

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2022-02-02 06:42
#3
miaoys

可以唤起deepin自身的应用么,比如资源监视器这个,不是自己做的应用

写一个脚本,功能是拉起特定应用,假定该脚本名字为sact-helper

然后给脚本创建一个desktop,指定某种链接类型,比如sact://,Exec后面写sact-helper U%

假定该desktop文件名为sact-helper.desktop

拉起的时候传给脚本的字符串就是

sact://xxxxxx,例如sact://deepin-music

用变量接收$1,即接收第一个参数,比如command=&1

然后进行字符串操作切去前7个字符,得到原始命令

然后直接$command就可以运行了


简单总结,以deepin-music为例

网站上的地址为 sact://deepin-music

点击后选择使用 sact-helper应用打开,此时 sact-helper.desktop执行 sact-helper sact://deepin-music

随后helper切去前7个字符串,随后拉起deepin-music

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2022-02-02 06:43
#4
miaoys

可以唤起deepin自身的应用么,比如资源监视器这个,不是自己做的应用

想要直接通过某一协议拉起对应应用需要对应应用注册对应的mimetype,然而深度系列应用没注册,所以只能你搞一个这东西

BTW,如果你真的做出来这个东西,希望可以开源

Reply View the author
miaoys
deepin
2022-02-02 22:01
#5
神末shenmo

写一个脚本,功能是拉起特定应用,假定该脚本名字为sact-helper

然后给脚本创建一个desktop,指定某种链接类型,比如sact://,Exec后面写sact-helper U%

假定该desktop文件名为sact-helper.desktop

拉起的时候传给脚本的字符串就是

sact://xxxxxx,例如sact://deepin-music

用变量接收$1,即接收第一个参数,比如command=&1

然后进行字符串操作切去前7个字符,得到原始命令

然后直接$command就可以运行了


简单总结,以deepin-music为例

网站上的地址为 sact://deepin-music

点击后选择使用 sact-helper应用打开,此时 sact-helper.desktop执行 sact-helper sact://deepin-music

随后helper切去前7个字符串,随后拉起deepin-music

谢谢大佬哈,我回头研究研究

Reply View the author
miaoys
deepin
2022-02-02 22:02
#6
神末shenmo

想要直接通过某一协议拉起对应应用需要对应应用注册对应的mimetype,然而深度系列应用没注册,所以只能你搞一个这东西

BTW,如果你真的做出来这个东西,希望可以开源

好的,但我估计没有那么大能耐啊😂

Reply View the author