Android应用间调用方式——URL Scheme

本文介绍了Android中URL Scheme的概念,它是一种页面内跳转协议,用于通过类似打开网页的方式调用Activity。详细讲解了协议格式,包括scheme、host、port、path和query,并阐述了在AndroidManifest.xml中配置Scheme的方法以及如何通过URL启动Activity和提取参数。
摘要由CSDN通过智能技术生成

URL Scheme简介

URL Scheme是Android中的自定义的URL Scheme是一种页面内跳转协议,也可以被称为URLRouter,就是通过类似打开网页的方式去通过路由打开一个Activity,而非直接通过显式Intent方式去进行跳转。

协议格式

协议格式:由scheme、host、port、path、query组成。
<scheme>://<host>:<port>/<path>?<query>
例如:jqchen://android:8088/urlscheme?id=3919

  1. jqchen,即为Scheme,代表该Scheme 协议名称
  2. android,即为Host,代表Scheme作用于哪个地址域
  3. 8088,即为port,代表该路径的端口号
  4. urlscheme,即为path, 代表Scheme指定的页面
  5. id,即为query,代表传递的参数

使用方法

第一步, 在AndroidManifest.xml中对标签增加设置Scheme

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <!--URL Scheme启动-->
    <intent-filter>
        <!--必有项-->
        <action android:name="android.intent.action.VIEW" />
        <!--表示该页面可以被隐式调用,必须加上该项-->
        <category
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
React Native 可以通过配置 URL Scheme 实现从外部应用程序打开应用程序并传递参数。下面是 iOS 和 Android 上配置 URL Scheme 的步骤: ## iOS 1. 在 Xcode 中选择项目,进入 TARGETS -> Info -> URL Types,点击“+”按钮添加 URL Scheme。 2. 在 URL Scheme 输入框中填写自定义的 URL Scheme,例如:myapp。 3. 在 URL Schemes 中填写应用程序的 Bundle ID。 4. 在 Xcode 中保存并编译项目。 5. 在应用程序中,可以通过 Linking 模块的 getInitialURL 方法获取启动应用程序的 URL,并通过 parse 函数解析 URL 中的参数。 示例代码: ```javascript import { Linking } from 'react-native'; Linking.getInitialURL().then(url => { if (url) { const { queryParams } = Linking.parse(url); console.log(queryParams); } }); ``` ## Android 1. 在 AndroidManifest.xml 中添加 intent-filter。 ```xml <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="myapp" /> </intent-filter> ``` 2. 在 data 标签中填写自定义的 URL Scheme。 3. 在应用程序中,可以通过 Linking 模块的 getInitialURL 方法获取启动应用程序的 URL,并通过 parse 函数解析 URL 中的参数。 示例代码: ```javascript import { Linking } from 'react-native'; Linking.getInitialURL().then(url => { if (url) { const { queryParams } = Linking.parse(url); console.log(queryParams); } }); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值