V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
honglei92
V2EX  ›  Android

安卓可以在地址栏里输入 scheme 唤起 APP 吗?

  •  
  •   honglei92 · 2021-04-12 10:09:34 +08:00 · 11498 次点击
    这是一个创建于 1350 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安卓可以在地址栏里输入 scheme 唤起 APP 吗? ios 的 Safari 可以 按住的 oppo 浏览器不行呢

    22 条回复    2021-04-16 16:48:39 +08:00
    ReferenceE
        1
    ReferenceE  
       2021-04-12 10:11:18 +08:00 via Android
    Schema(?
    q197
        2
    q197  
       2021-04-12 10:15:20 +08:00
    @ReferenceE 是 URI Scheme

    我猜和浏览器实现有关,电脑上的浏览器大多支持
    imldy
        3
    imldy  
       2021-04-12 10:20:02 +08:00
    可以,我试过导入 clash 订阅,Via 浏览器
    hs0000t
        4
    hs0000t  
       2021-04-12 10:22:10 +08:00 via Android
    不同浏览器的实现不一样
    honglei92
        5
    honglei92  
    OP
       2021-04-12 10:23:32 +08:00
    @imldy 我再 manife 里面也配了 scheme,但是还是不行呢
    imldy
        6
    imldy  
       2021-04-12 10:28:36 +08:00
    @honglei92 #5 这就不太懂了,我安卓开发就会一点点。而且你要确保浏览器支持。
    Yotako
        7
    Yotako  
       2021-04-12 10:29:22 +08:00
    javascript:window.location.href=xxx???
    lisjiang
        8
    lisjiang  
       2021-04-12 10:56:41 +08:00
    不可以,需要網頁走<a href="myscheme://domain/mypath?key=mykey">Click</a>
    iminto
        9
    iminto  
       2021-04-12 11:09:25 +08:00
    可以。以前玩过一个伪装成计算器的隐私空间 APP,就是通过在浏览器里输入 URL 进去的。用的 Android 7.1 系统+内置浏览器
    jejer
        10
    jejer  
       2021-04-12 13:13:25 +08:00
    intent:
    crayygy
        11
    crayygy  
       2021-04-12 13:41:10 +08:00
    Chrome 不行,Firefox 可以,Focus 也可以。
    可以测试一下 tel://10086 这样
    AoEiuV020
        12
    AoEiuV020  
       2021-04-12 14:36:28 +08:00
    @iminto 这输入的应该是 http 之类的协议不是自定义协议吧,
    AoEiuV020
        13
    AoEiuV020  
       2021-04-12 14:38:52 +08:00
    @iminto 找到 app 了,是 http 打开个网页,然后网页里有个按钮点击打开自定义协议地址,点击打开这种可以,本就是标准做法,
    DOLLOR
        14
    DOLLOR  
       2021-04-12 15:16:33 +08:00
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>URI Scheme Test</title>
    </head>
    <body>
    <input type="text" style="width: 90%;" placeholder="input URI Scheme here" autofocus oninput="aTag.href=this.value">
    <br>
    <a href="" id="aTag">click to open</a>
    </body>
    </html>

    把以上代码保存为 html,用浏览器打开,在 input 里输入 URI Scheme (例如“tel://10086”),点击 click to open 就能唤起 app 了。
    yukiww233
        15
    yukiww233  
       2021-04-12 15:47:33 +08:00
    印象里 chrome 系浏览器跳转 scheme 必须有个用户事件触发(比如点击), 放在页面回调里直接跳是不会生效的
    leo7723
        16
    leo7723  
       2021-04-12 15:53:19 +08:00
    楼主说的功能叫 deeplink,有可能和浏览器相关,浏览器支持就没问题。
    Helsing
        17
    Helsing  
       2021-04-12 16:18:37 +08:00 via iPhone
    @leo7723 #16
    对,要 app 和浏览器都支持才行
    weixiangzhe
        18
    weixiangzhe  
       2021-04-12 18:53:11 +08:00 via iPhone
    不同浏览器限制不同 不一定能调起 可以看这个老哥的总结
    https://github.com/suanmei/callapp-lib
    weixiangzhe
        19
    weixiangzhe  
       2021-04-12 18:53:56 +08:00 via iPhone
    tianlin
        20
    tianlin  
       2021-04-13 13:38:45 +08:00
    android 和 ios 的相关的协议有差别,ios 基本上都会选择使用 Universal Link,android 里面才用 URL Scheme ;
    另外不同的浏览器 /伪浏览器,因为 iOS 里面是底层控制了可以直接跳;在 android 里面很多都锁了跳,比较无奈
    consul
        21
    consul  
       2021-04-13 18:30:26 +08:00
    需要浏览器的支持。(理论上浏览器应该支持
    FATEQiang
        22
    FATEQiang  
       2021-04-16 16:48:39 +08:00
    深度连接技术
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2545 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:31 · PVG 23:31 · LAX 07:31 · JFK 10:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.