android程序内置浏览器,Android 应用程序与浏览器
首先需要明确一点基础概念
点我启动应用程序
在 AndroidManifest.xml 中对被启动的 Activity 进行配置
接着写出 Html 文件 Just.xml
启动 APP
无法启动
启动 APP1
启动 APP2
启动 APP3
启动 APP4
启动 APP5
在浏览器中打开 Html 文件,点击标签,就可以进行测试了
这里需要注意:
多个intent-filter是平级关系,如果嵌套在一起,会出现桌面没有 App 图标的情况
注意data标签中的scheme标签文本是不支持大写的
注意data标签中的host标签的使用
注意上边两个data标签不能放在一个intent-filter 中
在 Activity 中通过 intent 来获取数据
private HashMap browserMap = new HashMap<>();// 浏览器数据
/**
* 从浏览器获取数据[方法一]
*/
private void getParameterFromBrowser() {
Intent intent = getIntent();
Uri data = intent.getData();
if (data == null) return;
browserMap.put("scheme", data.getScheme());
browserMap.put("host", data.getHost());
Set queryParameterNames = data.getQueryParameterNames();
String[] queryParamNameArray = (String[]) queryParameterNames.toArray();
for (int i = 0; i < queryParamNameArray.length; i++) {
String key = queryParamNameArray[i];
browserMap.put(key, data.getQueryParameter(key));
}
}
在 Activity 中通过 intent 来获取数据
/**
* 从浏览器获取数据[方法二]
*/
private void getDataFromBrowser() {
Intent intent = getIntent();
String uri = intent.getDataString();
if (uri != null) {
String scheme = intent.getScheme();
String leave = uri.split(scheme + "://")[1];
String query;
if (leave.contains("?")) {
query = leave.split("\\?")[1];
} else {
query = leave;
}
browserMap = new HashMap();
String[] split = query.split("&");
for (int i = 0; i < split.length; i++) {
String key = split[i].split("=")[0];
String value = split[i].split("=")[1];
browserMap.put(key, value);
}
browserMap.toString();
}
}
注意: 这种方式是直接对从 xml 中获取到的启动字符串进行拆分截取从而获取到想要的数据,如果该串中包含了一个 url 的参数需要进行 URL 编码 否则解析会出现异常。
android程序内置浏览器,Android 应用程序与浏览器相关推荐
- Android 使用内置的Camera应用程序捕获图像
本Demo的实现效果是调用手机上已安装的照相机来实现拍照的功能,拍好的照片以ImageView形式展示. 目的:学习手机调用安装的相机照相,对大的图片处理有所认识,这里主要用到BitmapFactor ...
- android studio内置终端,Android Studio Terminal xx不是内部或者外部命令
背景 在使用AS工具自带命令面板Terminal的时候,相信你有碰到过:xx不是内部或者外部命令,也不是可运行程序.解决办法就是配置环境变量 一.在 Terminal 中使用 adb,报 'adb' ...
- 实现base64格式的amr音频文件在IOS、android微信内置浏览器的播放
参考文档: 1.https://github.com/yxl/opencore-amr-js (将amr文件转为wav格式的编解码项目) 因为项目需要,要将amr的base46格式的音频文件在IO ...
- Android获取内置sdcard跟外置sdcard路径
Android获取内置sdcard跟外置sdcard路径.(测试过两个手机,亲测可用) 1.先得到外置sdcard路径,这个接口是系统提供的标准接口. 2.得到上一级文件夹目录 3.得到该目录的所有文 ...
- android 获取sdcard 禁用sdcard,Android获取内置sdcard跟外置sdcard路径
Android获取内置sdcard跟外置sdcard路径 Android获取内置sdcard跟外置sdcard路径.(测试过两个手机,亲测可用) 1.先得到外置sdcard路径,这个接口是系统提供的标 ...
- 配置Android Studio内置jre的环境变量
下载Android Studio时,包括jre.将这个jre配置过环境变量后,就可以在全局使用了.但是和官网安装jre的环境配置略有不同. 图一 jre官网下载,安装后的目录 图二 Android ...
- 微信小程序判断服务器返回值,让微信小程序内置函数返回promise的方法
Promise API const promisic = function (func) { return function (params = {}) { return new Promise((r ...
- 如何将小程序内置非promise API转换为promise对象(风袖小程序的学习)
非常重要,便于项目大局观,使用es7的 async和await 如何将小程序内置非promise API转换为promise 这里是我封装的一个wx.request函数如何将wx.request转换成 ...
- 【疯狂诗词大会小程序2.0】功能模块+前端+诗词答题小程序+内置数千道题目+开箱即用
源码简介与安装说明: 模块介绍: 诗词答题小程序,支持单项选择题.文字线索题.看图猜诗词.读诗句猜谜等题目类型. 内置数千道题目,开箱即用.随机出题,先易后难. 诗词同步学,每一道诗题都配备了优质的诗 ...
- 坐标正反算(含高程),把要素内置化(无需改程序文件,即可更换路线,同时存两条线要素
tuzhyu 功能: 坐标正反算(含高程),把要素内置化(无需改程序文件,即可更换路线,同时存两条线要素) 另含两个边仰(一个横向坡,一个纵向坡)坡放样模块. 帮助文件未完成 程序浏览: FileNa ...
最新文章
- MacOS 安装monkey教程
- WINDOWS2003域控制器禁止U盘
- 人脸识别入侵生活,但“刷脸”背后你的信息安全吗?
- 后台系统可扩展性学习笔记(十四)异步机制与MQ
- SQL Server【一】简介和基本概念和命令
- 高度平衡二叉树的构建_数据结构与算法系列(十六)平衡二叉树的构建实现过程演示...
- 从字符串数组中寻找数字的元素
- 【产品对比】Word开发工具Aspose.Words和Spire.Doc性能和优劣对比一览
- pythonindexerror_Python index错误值不在list…on.index(value)
- 解决”java.lang.UnsatisfiedLinkError: Native Library .dll already loaded in another classloader”的问题
- 阿里云容器Kubernetes监控(五) - 离线存储与归档Kubernetes事件
- [路由器] k2p支持ipv6相关设置
- 中科院计算机和理论物理双硕士白,中科院研究生理论物理怎么不学相对论?
- RAID Introduction
- pads图标logo库制作方法
- VMware ESXi 7.0 U3e SLIC 2.6 Unlocker 集成 Intel NUC 网卡、USB 网卡和 NVMe 驱动 (2022.07 更新)
- ORA-1652: unable to extend temp segment by 128 in tablespace TEMP
- 如何将多张图片转换为pdf格式
- 纯CSS制作加div制作动画版哆啦A梦
- 腾讯AI开放平台使用尝试:账号开通/应用创建/能力开通