精华内容
下载资源
问答
  • Android 网页打开App进入对应页面
    千次阅读
    2019-04-10 20:36:30

    场景

    产品中有个功能是分享,用户点击分享的链接可打开app(若没有下载,跳转应用宝下载),进入相应的页面。

    代码

    一般会在闪屏页添加以下代码(程序的入口)
    AndroidManifest.xml

    <activity
                android:name=".mvvm.splash.adsplash.AdSplashActivity"
                android:configChanges="orientation|keyboardHidden|screenSize"
                android:screenOrientation="portrait"
                android:theme="@style/SplashTheme">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    =======这里是添加的代码 start======
                <intent-filter>
                    <action android:name="android.intent.action.VIEW"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                    <category android:name="android.intent.category.BROWSABLE"/>
                    <data android:scheme="ylbb"/>
                </intent-filter>
    =======这里是添加的代码 end=======
            </activity>
    

    接下来,在AdSplashActivity中接收并处理传过来的参数,在onCreate中。

    class AdSplashActivity : BaseActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
    //        网页打开app 进入测评 详情
            if (intent.data.checkNotNull()) {
                var productId = intent.data.getQuery()
                if (productId.checkNotNull()) {
                  //这里写逻辑处理
                }
            }
    }
    }
    

    跟h5协商好对应的参数字段

    <html>
    <meta charset="UTF-8">
       <body>
         <h1>Test Scheme</h1> <!--自动加载隐藏页面跳转-->
          <!--手动点击跳转-->
          <a href="ylbb://ceping:productId?666">点击打开APP并将值传过去</a>
       </body>
    </html>
    

    补充

    • 若网页定义为:ylbb://ylbb.com:80/params?p=6&id=7
           Intent intent = getIntent();
    		String scheme = intent.getScheme();// ylbb
    		Uri uri = intent.getData();
    		
    		if (uri != null) {
    			String host = uri.getHost();//ylbb.com
    			String dataString = intent.getDataString();//ylbb://ylbb.com:80/params?p=6&id=7
    			String id = uri.getQueryParameter("id");//7
    			String path = uri.getPath();///params
    			String path1 = uri.getEncodedPath();//params
    			String queryString = uri.getQuery();//p=6&id=7
            }
    
    • getIntent.getData()null,可能是在其他Activity添加的scheme
    • 一般添加在闪屏页(app启动一些初始化操作都在这里进行),但是接收到数据可暂时保存下来,在闪屏页过后再去处理(如:MainActivity

    参考链接:

    更多相关内容
  • 网页打开app

    千次阅读 2021-03-07 23:00:18
    打开app 思路:通过判断安卓和iOS在各浏览器行为,决定使用universal link还是url scheme,如果没有安装app则跳转到下载页 通过下文可知,除微信内置浏览器外,ios都可通过url scheme打开app,安卓亦是如此。【排除...

    打开app

    思路:通过判断安卓和iOS在各浏览器行为,决定使用universal link还是url scheme,如果没有安装app则跳转到下载页

    通过下文可知,除微信内置浏览器外,ios都可通过url scheme打开app,安卓亦是如此。【排除百度浏览器,百度浏览器是可以用universal link打开,不可以用url scheme,有需要的同学可以自行判断。我也是因为听说百度浏览器行为也有差异才测了下,但懒得做判断了】

    鉴于QQ内置浏览器只能使用a标签打开url scheme,所以url scheme统一使用a标签打开,只判断当前浏览器是否是微信内置浏览器即可【按理说,如果是微信内置浏览器应该使用公众号的WeixinJSBridge.invoke launchApplication方法才对,不过暂时没这个条件就没弄了,弄了再更新吧】

    官方文档地址不知在哪,csdn搜到的要积分下载,只能放个我有道云的在线文档地址了
    微信内 5 H5 唤起外部客户端

    相关代码:

    // html
     <a href="你的APP url scheme" id="js-a" style="visibility: hidden;"></a>
     <button class="btn" onclick="openApp()">测试</button>
     
    <script>
    // 打开app
    function openApp() {
            //js判断是否ios或Android
            var u = navigator.userAgent;
            // 判断浏览器
            var ua = u.toLowerCase(),
                isWx = false,
                isQQ = false,
                isQQInstalled = false;
    
            var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
            var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    
            if (ua.match(/MicroMessenger/i) == 'micromessenger') {
                //微信浏览器
                isWx = true;
            }
    
            if (isAndroid) {
                if (isWx) {
                    // 微信内置浏览器
                    alert('请用其他浏览器打开');
                } else {
                    judgeOpen();
                }
                return;
            }
            if (isiOS) {
                if (isWx) {
                    // 微信内置浏览器 打开universal link 
                    /* 
                    你的APP 下载地址 设为 universal link 
                    // 则有APP打开APP, 无APP打开下载页
                    */
                    window.location.href = '你的APP 下载地址';
                } else {
                    judgeOpen();
                }
            }
        }
        // 判断打开
        function judgeOpen() {
            // 点击 打开url schema
            var aaa = document.getElementById('js-a');
            aaa.click();
    
            setTimeout(function () {
                if (document.visibilityState == 'hidden') {
                    console.log('跳转至app了,当前页面不可见');
                    return;
                }
                window.location.href = '你的APP 下载地址';
            }, 3000)
        }
    </script>
    

    安卓和iOS在各浏览器行为

    主要测试了QQ内置浏览器,微信内置浏览器,QQ浏览器,UC浏览器,百度浏览器,Safari,及华为默认浏览器。

    测试机型:苹果 xr【ios 13.6】, 华为P9 【安卓 8.0】

    以下打勾表示可使用,中括号表示浏览器类型是否可识别


    QQ内置浏览器

    iOS[可以识别]
    universal link
    • window.location
    • a 标签
    url scheme
    • window.location
    • a 标签
    安卓[无法识别]
    url scheme
    • window.location
    • a 标签

    微信内置浏览器

    iOS[可以识别]
    universal link
    • window.location
    • a 标签
    安卓[识别成微信和qq浏览器]
    url scheme[安卓,iOS]
    • window.location
    • a 标签

    QQ浏览器[iOS, 安卓可以识别]

    iOS
    universal link
    • window.location
    • a 标签
    url scheme[安卓,iOS]
    • window.location
    • a 标签

    UC浏览器[安卓,iOS识别为其他浏览器,且取消后无法继续打开]

    iOS
    universal link
    • window.location
    • a 标签
    url scheme[安卓,iOS]
    • window.location
    • a 标签

    百度浏览器[安卓,iOS 识别为其他浏览器]

    iOS
    universal link
    • window.location
    • a 标签
    url scheme[安卓,iOS]
    • window.location
    • a 标签

    其他浏览器[安卓,iOS 识别为其他浏览器]

    iOS
    universal link
    • window.location
    • a 标签
    url scheme[安卓,iOS]
    • window.location
    • a 标签

    识别代码

    var u = navigator.userAgent;
    // 判断浏览器
    var ua = u.toLowerCase(),
        isWx = false,
        isQQ = false,
        isQQInstalled = false;
    
    var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
    var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    
    var str = '';
    
    if (ua.indexOf(' qq') > -1 && ua.indexOf('mqqbrowser') < 0) {
        //qq内置浏览器
        isQQInstalled = true;
        // alert('这是qq内置浏览器');
        str = 'qq内置浏览器, ';
    }
    if (ua.match(/MicroMessenger/i) == 'micromessenger') {
        //微信浏览器
        isWx = true;
        str = str + '微信内置浏览器, ';
    }
    if (ua.indexOf('mqqbrowser') > -1 && ua.indexOf(" qq") < 0) {
        //qq浏览器
        isQQ = true;
        // alert('这是qq浏览器');
        str = str + 'qq浏览器, ';
    }
    if (!str) {
        str = '其他浏览器';
    }
    
    if (isAndroid) {
        str = str + '安卓, ';
    }
    if (isiOS) {
        str = str + 'IOS, ';
    }
    
    展开全文
  • 通过网页打开APP

    2016-06-15 22:13:48
    实现通过网页打开APP中指定Activity的功能,并且可以向Activity传递参数。有兴趣的可以下载查看。
  • 主要介绍了JS实现点击网页判断是否安装app打开否则跳转app store的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • android中网页打开APP简单使用

    千次阅读 2018-08-01 14:46:09
    通过用手机的浏览器访问一个网页,点击网页中的一个链接来启动APP,并将数据传递给APP 使用自定义的URI scheme实现跳转,URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。 scheme:...

    通过用手机的浏览器访问一个网页,点击网页中的一个链接来启动APP,并将数据传递给APP
    使用自定义的URI scheme实现跳转,URI主要分三个部分:scheme, authority and path。
    其中authority又分为host和port。
    scheme://host:port?param(传递的值name=value&name=value…)

    测试HTML网页如下

    <!DOCTYPE html>  
    <html>  
    <body>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    <a href="content://jump?name=小李">打开app</a>
    </body>  
    </html>  

    android项目AndroidManifest.xml中配置intent-filter

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.spring.otherjumptoappdemo">
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
    
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    
                <intent-filter>
                    <!-- 协议部分配置 ,要在web配置相同的-->
                    <data
                        android:host="jump"
                        android:scheme="content"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                    <category android:name="android.intent.category.BROWSABLE"/>
                    <action android:name="android.intent.action.VIEW"/>
                </intent-filter>
            </activity>
            <activity
                android:name=".HelloActivity"
                android:label="@string/title_activity_hello"
                android:theme="@style/AppTheme.NoActionBar">
            </activity>
        </application>
    
    </manifest>

    在APP中获取从网页传来的值

            Intent intent=getIntent();
            Uri uri=intent.getData();
    
            if(uri!=null){
                String name=uri.getQueryParameter("name");
    
            }
    展开全文
  • 通过网页打开App并传递参数

    千次阅读 2016-01-14 00:31:53
    如果想要从网页打开App,只要在AndroidManifest.xml文件中设置Activity的相关属性则可,具体如下:
 android:name=".StartActivity">

 
 <action android:name="android.intent.action.MAIN" />

    如果想要从网页中打开App,只要在AndroidManifest.xml文件中设置Activity的相关属性则可,具体如下:

    <activity

        android:name=".StartActivity">


        <intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" />      
        </intent-filter>


        <intent-filter>
            <action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="weixin" android:host="gameforums" android:pathPrefix="/message"/>
        </intent-filter>


    </activity>

    这里想要注意的是,如果这个Activity同时也是App的启动页面的话,intent-filter不能同时放在一块。

    接下来就是在StartActivity里面获取数据了,获取传递过来的参数代码如下:

    Intent intent = getIntent();
    
String scheme = intent.getScheme();
    Log.i(TAG, "scheme:" + scheme);

    if (uri != null) {

        String host = uri.getHost();
        Log.i(TAG, "host:"+host);

        String dataString = intent.getDataString();

        Log.i(TAG, "dataString:" + dataString);

        String param2 = uri.getQueryParameter("param2");

        Log.i(TAG, "param2:" + param2);

        String path = uri.getPath();
        Log.i(TAG, "path:" + path);
        String encodedPath = uri.getEncodedPath();
        Log.i(TAG, "encodedPath:" + encodedPath);
        String queryString = uri.getQuery();
    
}

    接下来是测试,写一个简单的html来进行测试:

    <a href="weixin://gameforums/message?param=456">打开App</a>

    测试结果如下图:
    这里写图片描述

    展开全文
  • 网页点击某个按钮跳转到APP之后,正常使用,可是当你打开手机后台应用时却发现APP竟然在浏览器里,我擦,这怎么能行呢!,其实用户用起来也没啥感觉,就是在APP中使用的,只不过两者合体了,这样如果你想杀死...
  • android 网页打开 app指定页面

    千次阅读 2018-07-17 11:24:27
    一、网页打开app简介  1. 用户自定义的URI (Custom URI scheme) 形式如下:  scheme://host/path?parameters  2. "intent:"语法(intent -base URI) 语法形式如下:  intent://host#intent;...
  • Android--通过网页打开APP并传值详解

    万次阅读 2017-05-18 11:16:45
    通过网页添加连接的方式打开本地App,如果存在该APP打开,不存在的话去下载在现在的Android开发中变得越来越常见,特别是在商城类应用中。因为越来越多的公司做应用都开始注重四网合一模式的开发(APP,移动网页,...
  • 手机网页通过js打开app

    千次阅读 2019-09-09 14:36:28
    1. 第三方浏览器通过网页打开app的普遍方法是通过scheme命令直接打开。 2. 微信或QQ浏览器通过网页打开app最完善的方法是上传应用宝。 3. 微信或QQ浏览器通过网页打开app只有ios9以上可实现(Android和Ios 9以下...
  • h5网页打开手机APP

    千次阅读 2020-05-25 11:45:00
     然后要明白,js没法检测手机是否有某个app,所以也就没法判断是打开应用商店还是app的链接,  然后一个大概思路就是通过一个iframe标签去尝试的打开,如果打不开再去打开应用商店 button[0].onclick = function...
  • 主要给大家介绍了关于如何实现点击微信内网页a标签直接跳转打开淘宝APP的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
  • Android 实现浏览器打开app

    千次阅读 2021-06-04 16:52:01
    我们经常看到当点击一个链接的时候,跳转到app,比如当我们在网页端浏览新闻的时候,要想查看更多评论等就会提示你跳转到app内打开查看,那是如何实现网页打开app的呢?怎么实现?要想实现浏览器内打开app,其实...
  • iOS 之网页打开app应用

    千次阅读 2018-09-10 11:19:34
    方法一:Universal Links唤醒app参考https://www.jianshu.com/p/77b530f0c67b 方法二:直接在info中URLScheme添加协议名:比如qianjin(之前加了qianjin://跳不起来,把://去掉了就可以,这个可能h5那边加了://重复...
  • Safari打开官网自动打开app

    千次阅读 2021-11-29 20:04:42
    最近遇到一个烦人的问题,用户在Safari里面搜索我们的官网的时候,点击打开我们的官网,Safari总是自动打开我们的app,经过排查,发现是我们配置了苹果的打开app的链接方式Associated Domains,这种方式,基本只要是...
  • web页面中如何唤起打开APP实践

    千次阅读 2020-09-11 10:08:14
    作者:拾邑链接:https://github.com/suanmei/callapp-lib/issues/1前段时间在做一些H5页面,落地页占比较大,落地页承担的职责就是引流。引流有两...
  • 最近有朋友问小编这样一个问题,先给大家说下项目需求:扫描二维码打开app如果用户没有这个app则提示它跳转。 用网页直接来调用app是不打可能的,必须原生那边先做一些配置。 首先,安卓和苹果的调用方法是不同的。 ...
  • 下载用android stuido打开项目即可,如果报错把.gradle、.idea、gradle删除
  • H5打开APP技术总结

    万次阅读 多人点赞 2018-01-30 11:49:37
    在H5页面打开APP的方法一般有两种,在IOS 9以前,一般使用的技术是URL Scheme。这种方式虽然可自定义程度很高,能够巧妙地实现很多跳转,但弊端也很明显:我们只能通过 scheme://example 这种格式的链接来实现跳转,...
  • 主要为大家详细介绍了微信通过页面(H5)直接打开本地app的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 最近,在使用QQ和微信等SDK来实现分享网页的时候,发现,SDK已经为页面跳转回应用提供了基本的数据支持。我们只需在应用里和被分享的网页进行简单的设置,即可实现此功能。
  • 一、Android端如何操作 1、给Application中Activity添加跳转链接路径和相关权限 scheme:判别启动的App ...--打开APP--> 打开APP 打开APP 3、APP内部也可以调用起来 Intent intent = new
  • 网页唤醒app

    千次阅读 2020-06-02 18:27:25
    常用第三方APP 的url scheme 触宝拨号:dialer:// 蜂窝网络:prefs:root=MOBILE_DATA_SETTINGS_ID WIFI:prefs:root=WIFI(WIFI这几个字母一定要大写) 定位服务:prefs:root=LOCATION_SERVICES 微信 :weixin:// ...
  • 移动端网页唤醒app

    千次阅读 2018-05-17 10:38:44
    许多移动端网站例如美团、京东等都会提示是否进入或下载app,或者是继续进行浏览网页版,用来提高app下载量,达到用户引流; 实现原理是将浏览器协议直接更换为打开本地app的协议,找到匹配项app后开启;或者是在...
  • product_id=5526365552555"打开APP 但是各种浏览器试过 就是不行 但是在应用内在别的页面通过这样 ``` startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("xgshuo://product_detail?product_id="+product...
  • APP打开某个网页

    2016-01-01 22:05:23
    APP打开某个网页,只需要一个webview就可以了,还要加上访问网络的权限
  • 通过网页打开app指定页面

    千次阅读 2016-08-22 10:05:43
    例如:打开http://www.eg.com(这个网页的作用就是打开连接:something://project.example.com?id=03733a27f19bbc9f737caa0d38db1a08) 这个网页是瞎写的,但是你要明白这个意思.好了开始app中的配置吧 例如我想打开的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 126,859
精华内容 50,743
关键字:

网页打开app

友情链接: randomforest.utf-8.rar