比较抱歉的是,由于本人没用过这些方面的工具,所以本期教程没有截图,纯文字叙述
虽然标题是说图形化编程,但是java也同样适用(对于java会提供相关代码)
废话不多说,先上一个例子看看效果:
https://cloudgenius.eggyhub.top/page/scheme/api/?scheme=mailto:zyz2034688700@163.com&pic=http://q.qlogo.cn/headimg_dl?dst_uin=1490295476%26spec=640%26img_type=jpg&name=云云鬼才&description=给作者发邮件
功能介绍
不感兴趣的可以直接跳过
Q:本功能有什么用?
A:本功能可以允许在软件发布后动态更新某个功能的Scheme调用,而不需要进行软件更新,更新Scheme跳转只需要一个api
Q:这个功能有什么优/缺点?
A:优点很明显,可以进行动态加载并且不需要担心Android12以上对于显式调用需要在安装包中声明调用的问题
缺点也是有的,比如如果有一些应用没有对浏览器调用开启白名单,那么浏览器调用会失效,更明显的缺点就是有一个跳转到浏览器的过程,这个会让用户觉得很难受
Q:为什么要做这个功能?
A:有很多原因,但是大部分的原因应该是一个朋友需要调用Scheme,但是没有好的方案
废话不多说,直接进入正文
分段版教程(适合老手)
首先是BASE_URL:
https://cloudgenius.eggyhub.top/page/scheme/api/
接着是参数:
* scheme : 实际调用时需要的Scheme
pic : 网页显示的图片(如果调用过快的话可能显示不出来就直接跳转了)
name : 显示的名称(你想显示什么名称就输入什么,完全自定义)
description : 描述(也是自定义,看你希望用户看到什么)
"*"项为必填项,其他为选填项,可根据实际情况自行选择参数
注 : pic参数支持Base64编码图片和网络URL,但是不建议使用Base64(数据量太大,容易造成卡顿)
拼接后:
https://cloudgenius.eggyhub.top/page/scheme/api/?scheme=实际Scheme内容&pic=图片链接或Base64编码内容&name=名称&description=描述
整合式教程(适合新手)
基础链接为:
https://cloudgenius.eggyhub.top/page/scheme/api/
参数介绍
| 参数 | 名称 | 是否必选 | 示例 | 备注 |
|---|---|---|---|---|
| scheme | 调用参数 | ✔️ | mailto:xxx@xx.com | 需要输入标准的Scheme |
| pic | 图片 | ❌ | https://placehold.co/400x400/png | 同时支持URL和Base64(不建议),可以先把图片上传到图床上 |
| name | 名称 | ❌ | 你的应用名/想要跳转应用名等… | 你想输入什么就输入什么,不做限制,看你心情 |
| description | 描述 | ❌ | 跳转的原因/应用简介等… | 根据实际情况来看,如果不想填完全可以不填 |
实际应用:
https://cloudgenius.eggyhub.top/page/scheme/api/?scheme=mailto:xxx@xxx.com&pic=https://placehold.co/400x400/png&name=名称&description=介绍
————————————————————————— ———————————————————————————————————— ———————— ————————————————
↑ ↑ ↑ ↑
Scheme(必填) 图片地址 名称 介绍
快捷代码
Python
from plyer import webbrowser
def open_url(url): #在 Android 上用默认浏览器打开链接
try:
webbrowser.open(url)
print(f"已打开链接: {url}")
except Exception as e:
print(f"打开链接失败: {e}")
if __name__ == "__main__":
open_url("https://cloudgenius.eggyhub.top/page/scheme/api/?scheme=<Scheme>&pic=<pic_url>&name=<name>&description=<description>")
Java
import android.content.Intent;
import android.net.Uri;
private static final String SCHEME_URL = "https://cloudgenius.eggyhub.top/page/scheme/api/?scheme=<Scheme>&pic=<pic_url>&name=<name>&description=<description>";
public void openUrl() {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(SCHEME_URL));
startActivity(intent);
}
记得把 <Scheme> <pic_url> <name> <description> 替换成实际内容
最后附上一个调用自定义Scheme的网页(适合开发者)
cloudgenius.eggyhub.top/page/scheme
聪明的你应该已经发现是基础url把最后一个段去掉了吧😁,可以用于测试Scheme有没有生效哦
本期文章就到这里,有任何问题👉🏻点此联系 👈🏻