V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
honglei92
V2EX  ›  Android

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

  •  
  •   honglei92 · Apr 12, 2021 · 15685 views
    This topic created in 1847 days ago, the information mentioned may be changed or developed.

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

    22 replies    2021-04-16 16:48:39 +08:00
    ReferenceE
        1
    ReferenceE  
       Apr 12, 2021 via Android
    Schema(?
    q197
        2
    q197  
       Apr 12, 2021
    @ReferenceE 是 URI Scheme

    我猜和浏览器实现有关,电脑上的浏览器大多支持
    imldy
        3
    imldy  
       Apr 12, 2021
    可以,我试过导入 clash 订阅,Via 浏览器
    hs0000t
        4
    hs0000t  
       Apr 12, 2021 via Android
    不同浏览器的实现不一样
    honglei92
        5
    honglei92  
    OP
       Apr 12, 2021
    @imldy 我再 manife 里面也配了 scheme,但是还是不行呢
    imldy
        6
    imldy  
       Apr 12, 2021
    @honglei92 #5 这就不太懂了,我安卓开发就会一点点。而且你要确保浏览器支持。
    Yotako
        7
    Yotako  
       Apr 12, 2021
    javascript:window.location.href=xxx???
    lisjiang
        8
    lisjiang  
       Apr 12, 2021
    不可以,需要網頁走<a href="myscheme://domain/mypath?key=mykey">Click</a>
    iminto
        9
    iminto  
       Apr 12, 2021
    可以。以前玩过一个伪装成计算器的隐私空间 APP,就是通过在浏览器里输入 URL 进去的。用的 Android 7.1 系统+内置浏览器
    jejer
        10
    jejer  
       Apr 12, 2021
    intent:
    crayygy
        11
    crayygy  
       Apr 12, 2021
    Chrome 不行,Firefox 可以,Focus 也可以。
    可以测试一下 tel://10086 这样
    AoEiuV020
        12
    AoEiuV020  
       Apr 12, 2021
    @iminto 这输入的应该是 http 之类的协议不是自定义协议吧,
    AoEiuV020
        13
    AoEiuV020  
       Apr 12, 2021
    @iminto 找到 app 了,是 http 打开个网页,然后网页里有个按钮点击打开自定义协议地址,点击打开这种可以,本就是标准做法,
    AV1
        14
    AV1  
       Apr 12, 2021
    <!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  
       Apr 12, 2021
    印象里 chrome 系浏览器跳转 scheme 必须有个用户事件触发(比如点击), 放在页面回调里直接跳是不会生效的
    leo7723
        16
    leo7723  
       Apr 12, 2021
    楼主说的功能叫 deeplink,有可能和浏览器相关,浏览器支持就没问题。
    Helsing
        17
    Helsing  
       Apr 12, 2021 via iPhone
    @leo7723 #16
    对,要 app 和浏览器都支持才行
    weixiangzhe
        18
    weixiangzhe  
       Apr 12, 2021 via iPhone
    不同浏览器限制不同 不一定能调起 可以看这个老哥的总结
    https://github.com/suanmei/callapp-lib
    weixiangzhe
        19
    weixiangzhe  
       Apr 12, 2021 via iPhone
    tianlin
        20
    tianlin  
       Apr 13, 2021
    android 和 ios 的相关的协议有差别,ios 基本上都会选择使用 Universal Link,android 里面才用 URL Scheme ;
    另外不同的浏览器 /伪浏览器,因为 iOS 里面是底层控制了可以直接跳;在 android 里面很多都锁了跳,比较无奈
    consul
        21
    consul  
       Apr 13, 2021
    需要浏览器的支持。(理论上浏览器应该支持
    FATEQiang
        22
    FATEQiang  
       Apr 16, 2021
    深度连接技术
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2476 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 02:35 · PVG 10:35 · LAX 19:35 · JFK 22:35
    ♥ Do have faith in what you're doing.