`

Android 从网页中跳转到本地App

阅读更多
我们在使用微信、QQ、京东等app的时候,会发现有时候通过他们的wap网页可以打开本地app,如果安装了则直接跳转,没有安装的话直接跳转应用商店

网页跳转app的原理如下:

对于Android平台URI主要分三个部分:scheme, authority and path。其中authority又分为host和port。
格式如下:
scheme://host:port/path

举个栗子:

下面看下data flag
<data android:host="string" 
      android:mimeType="string" 
      android:path="string" 
      android:pathPattern="string" 
      android:pathPrefix="string" 
      android:port="string" 
      android:scheme="string" />

下面是一个测试demo,测试如何接收外部跳转:

在我们的App入口Activity的清单文件中配置如下:
<activity
            android:name=".EntranceActivity"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            android:theme="@style/Entrance">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

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

            <!--Android 接收外部跳转过滤器-->
            <intent-filter>
                <!-- 协议部分配置 ,要在web配置相同的-->
                <data
                    android:host="splash"
                    android:scheme="test"/>

                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>

                <action android:name="android.intent.action.VIEW"/>
            </intent-filter>

        </activity>

如上所示,在data里设置了 scheme和host,则该Activity可以接收和处理类似于 "test://splash"的Uri。
网页端需要配置如下:
<!DOCTYPE html>  
<html>  
<body>  
<iframe src="test://splash" style="display:none"></iframe>  
</body>  
</html>

SO,当我们从网页跳转的App的时候,如果本地安装了,那么就可以顺利跳转过来了, 是不是感觉So easy 呢?

如果你想在单独处理外部跳转的Uri可以,在接收外部跳转的Activity中添加如下代码:
Intent intent = getIntent();
String data = intent.getDataString();
if (data.equals("yijj://splash")){
     // TODO: 在这里处理你想干的事情。。。 
     startActivity(new Intent(this,EntranceActivity.class));
}else {
     finish();
}


http://www.open-open.com/lib/view/open1484051365201.html
  • 大小: 34.3 KB
分享到:
评论

相关推荐

    Android开发课堂作业记单词APP登录注册页面跳转

    在这个"课堂作业记单词APP"中,我们重点关注的是登录注册页面的跳转,这是任何应用程序中用户交互的基础部分。Android提供了丰富的组件和设计模式来实现这样的功能,让我们深入探讨一下。 首先,登录注册页面通常由...

    详解如何通过H5(浏览器/WebView/其他)唤起本地app

    当然只是其中的一个需求,还有的是现在各类app,分享出去的H5页面中,一般都会带着一个立即打开的按钮,如果本地安装了app,那么就直接唤起本地的app,如果没有安装,则跳转到下载。这是一个很正常的推广和导流量的...

    通过Html网页调用本地安卓app

    标题"通过Html网页调用本地安卓app"涉及到的核心技术是利用HTML页面中的超链接(`&lt;a&gt;`标签)和安卓APP中的`Intent Filter`配置。在HTML页面中,你可以创建一个链接,其`href`属性设置为特定的`scheme`: ```html ...

    Android studio开发的仿小红书App,简单App项目

    在“XiaoHongShuWelcome-master”项目中,开发者将有机会实践上述所有知识,从项目的初始化、UI设计、功能实现,到测试和发布,一步步构建一个功能齐全的仿小红书应用。通过这个项目,开发者不仅可以提升Android开发...

    Android程序间Intent跳转分析

    1. **ACTION_VIEW**: 这个Action常用于打开一个文件或网页,例如,当你点击一个链接或选择本地文件时,系统会根据文件类型寻找合适的App来处理。 2. **ACTION_SEND**: ACTION_SEND Intent常用于分享内容,比如分享...

    Android-AndroidPDF用于在App中打开PDF文件

    这个库特别强调支持在线查看PDF文件,这意味着用户无需先下载整个文件到本地存储,就可以直接在应用中浏览网络上的PDF文档,提高了用户体验。 `AndroidPDF`库的核心功能包括: 1. **PDF渲染**:库提供了一种高效的...

    H5页面唤醒App(安卓+ios)

    然后,在App中创建一个接收器来处理接收到的Intent: ```java public class CustomReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent != ...

    Android记账本APP

    在这个记账本APP中,开发者可能使用了Intent来在不同的Activity之间传递数据,例如,从主界面跳转到添加交易的Activity时,可能需要携带一些预设信息,如账户ID或当前时间。理解并正确使用Intent和Bundle进行数据...

    H5唤起手机本地app

    4. **App Links**:这是Android系统的一个特性,类似于iOS的Universal Links,用于实现从Web到应用的无缝跳转。 5. **JavaScript接口**:在H5页面中,可以使用JavaScript与用户的设备进行交互。通过监听点击事件,...

    Android-一个App内嵌浏览器

    在Android应用开发中,内嵌浏览器(In-App Browser)是一种常见的功能,它允许用户在应用程序内部浏览网页,而无需跳转到外部浏览器。本文将详细介绍Android中的内嵌浏览器实现,特别是基于WappBrowser的实践。 ...

    基于android的答题app实现代码

    这个基于Android的答题app实现代码提供了从设计用户界面到处理数据流、实现交互逻辑等全面的开发经验。 首先,我们需要了解Android应用开发的基础。Android是由Google主导的开源操作系统,用于移动设备如智能手机和...

    Android本科毕业设计阅读小说app系统源码.zip

    Android本科毕业设计阅读小说app系统源码。功能简介如下: 一、书籍阅读介绍 1.、网络书籍:可以在线阅读网络书籍,无需下载,当然也提供了将书籍下载到本地的功能 2.、本地书籍:可以解析本地书籍并阅读,但要求...

    Android-2018东京DroidKaigi会议官方App源代码

    【Android开发-完整的...通过深入研究这个项目的源代码,开发者不仅可以学习到上述技术,还能了解到如何将它们集成到实际项目中,提升自己的Android开发技能。同时,这也是一个了解当时Android开发最佳实践的好机会。

    Web调用本地Android应用

    在Web调用本地应用的场景中,WebView扮演着桥梁的角色,它能加载网页并监听网页中的JavaScript事件,当检测到特定的事件时,可以启动相应的Android原生功能。 实现Web调用本地应用主要有以下两个步骤: 1. **...

    Android_网络点餐app.zip

    【Android_网络点餐app.zip】是一个针对Android平台的简易网络点餐应用的源码项目,主要用于学生在期末课程设计中实践和学习Android开发技术。这个项目涵盖了几个关键的Android开发知识点,包括网络请求、数据库操作...

    Android每日新闻app开发课程设计包含文档

    在本课程设计中,我们将探讨如何开发一个名为...以上就是“Android每日新闻app开发课程设计”涵盖的关键技术点,通过学习和实践这些知识点,开发者可以掌握构建一个完整Android应用的流程,提升在实际项目中的技能。

    android登录和注册实例代码

    在Android中,页面间的跳转主要通过Intent实现。在登录按钮的点击事件中,调用Intent的构造函数,传入目标Activity和需要传递的数据,然后使用startActivity方法启动新的Activity。 安全方面,虽然SQLite数据库存储...

    基于Android Studio开发的安卓的音乐播放器app

    在Android平台上,开发一款音乐播放器App是一项常见的任务,它涉及到多个技术和组件的集成。本文将深入探讨基于Android Studio的音乐播放器应用开发,涵盖登录、注册、音乐列表、播放页面以及播放控制等功能。 首先...

    Html5如何唤起百度地图App的方法

    为了实现上述功能,代码中使用了`window.location.href`方法,它会根据传入的URL Scheme尝试在设备上唤起对应的App或者打开对应的网页链接。同时,为了确保App可以被正确唤起,引入了计时器逻辑来判断是否成功唤起了...

    基于Android的本地视频播放器.zip

    在Android平台上,开发一个本地视频播放器涉及到许多关键知识点,主要涵盖音视频处理、Android SDK、Java编程语言以及可能使用的第三方库,如Apache Commons。以下是对这些知识点的详细阐述: 1. **Android SDK**: ...

Global site tag (gtag.js) - Google Analytics