android调用网页方法,Android调用手机浏览器的正确方式
有时候我们需要调用手机的浏览器,搜索过会我们一般都能找到这样的代码:
//从其他浏览器打开
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri content_url = Uri.parse(url);
intent.setData(content_url);
startActivity(intent);
但是,这样做并不严谨,为什么呢?
如果没有浏览器的话,会导致找不到接受这个Action的Activity,会崩溃.(不要问我为什么会有没有浏览器的手机...告诉你,就是有!!!)
So,应该这么写,注意最后一句:
startActivity(Intent.createChooser(intent, "请选择浏览器"));
//从其他浏览器打开
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri content_url = Uri.parse(url);
intent.setData(content_url);
startActivity(Intent.createChooser(intent, "请选择浏览器"));
没有浏览器的效果图
多个浏览器效果图
同时,这样也能给用户选择的机会,有助于提升与用户体验!~
如果有更好的方式,请告诉我~~
经网友@dongorigin 提示,其实我们可以在startActivity之前检查是否有能接受的activity:
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
这样我们的选择就更加多了,可以在发现没有能接受action的activity时候,给用户一个提示~感谢@dongorigin
延伸阅读
与我联系,交个朋友
android调用网页方法,Android调用手机浏览器的正确方式相关推荐
- import android.view.window;,尝试在空对象引用上调用虚拟方法‘android.view.Window$回调...
尝试在空对象引用上调用虚拟方法'android.view.Window$回调-android.view.Window.getCallback()' 当我SplashActivity打开LoginAct ...
- Android 11 微信友盟分享报错 分享异常 Android 11及以上系统的手机需要使用FileProvider方式分享
微信分享朋友圈报错 分享异常 Android 11及以上系统的手机需要使用FileProvider方式分享 项目集成了友盟的分享,在Android 11系统手机上,微信分享朋友圈失败: 集成时以按文档 ...
- 网页能够兼容所有手机浏览器—杂记(2)
网页能够兼容所有手机浏览器 <!-- 优先使用 IE 最新版本和 Chrome --><meta http-equiv="X-UA-Compatible" con ...
- uniapp调用手机摄像头_uniapp原生插件开发之调用原生方法(android)
需要实现的功能: 点击uniapp页面view,传递参数,调用android原生代码,然后原生代码处理数据,返回到uniapp页面 步骤 1.编写uniapp的视图页面 {{title}} 点击调用a ...
- android 虚方法,尝试在空对象引用上调用虚方法’android.view.View android.view.View.getRootView()’...
我收到这个错误, "Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' ...
- android view使用方法,android – 如何使用getView()方法,它在哪里被调用?
我是Android开发的新手,并且一直遵循Android网站上提供的教程.我目前在视图教程部分,特别是Grid Views: Hello, Grid View Tutorial的教程. 我无法通过适配 ...
- Android屏幕监视方法,Android 关于手机屏幕的那些事
1.屏幕方向参数: ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED,//未指定,此为默认值.由Android系统自己选择合适的方向. ActivityInfo. ...
- android获取ip方法,Android开发准确获取手机IP地址的两种方式
最近看了好多网上获取IP地址的例子,发现好多都不完全准确,这里我写一下获取ip地址的两种方式. 比如微信支付,后台在做接口的时候,要求App端传入IP地址,我们需要判断是网络环境,WI-FI还是3G, ...
- android电量优化方法,Android性能优化——电池使用优化
为什么要做电量优化 Android应用开发中,需要考虑的情况是,如何优化电量使用,让我们的app不会因为电量消耗过高被用户排斥,或者被其他安全应用报告. 什么样的行为会导致电量损耗过高 对于移动设备而 ...
最新文章
- vue 带全选和多选的表格怎么写_vue中使用计算属性巧妙的实现多选框的“全选”...
- python 3.5opencv 环境搭建_Python3.5+openCv进行人脸识别的环境搭建(Windows下)
- ASP.NET Core Web Api之JWT刷新Token(三)
- Git常用命令——基本操作
- 游戏修改器制作教程七:注入DLL的各种姿势
- 如何请求您的Apple ID帐户数据的副本
- 星星之火-57:前传接口 CPRI的速率、能力、小区带宽之间的映射关系
- win10自带输入法变为繁体字
- 单片机中段程序_80C51单片机中断的编程使用方法介绍
- 大数据解决方案:解决T+0问题
- 物联网案例_讨论物联网采用的商业案例
- tkinter向文本框里加内容_给tkinter文本框添加右键菜单
- xlsxwriter进度条php,PHP导出Excel数据导出,前端进度条实现方式
- 数组操作 push()
- allegro PCB 检查报告中的Report DangLine以及禁用Antenna vias
- 关于安装Ubuntu20.04重启后反复进入bios界面
- LED有哪些优点,LED驱动电源方案
- Dashy: 一款功能超强大,颜值爆表的可定制专属导航页工具
- catia草图里写字_请问CATIA如何在曲面上写字,麻烦高手解答详细步骤?
- 网络信息安全:RC4加密算法的实现
热门文章
- chi660e电化学工作站软件_RuddlesdenPopper 型锰酸盐LaSr2Mn2O7的氧还原性能和作为电化学电容器电极材料的性能研究...
- android8.1新功能,Android 8.1新特性:烦人的“正在后台运行”,拜拜
- cedit多行文本设置透明背景会重叠_PPT脱白教程11期【形状篇2】聊聊形状和文本框的那些事儿~...
- python期末设计作品_期末作品检查
- LL-verilog语法:case用法
- 手动选择显示_QGIS 二次开发笔记(2)——显示图层
- ppt文件限打开次数_PPT冷知识25条!看到第一条我就翻了车…
- pythonrequest得替代_Python爬虫通过替换http request header来欺骗浏览器实现登录功能...
- 科学家利用计算机模型,科学家尝试利用计算机模拟整个宇宙的演化
- matlab中quat2angle,RPY_Euler_Quaternion_AngleAxis角度转化:Matlab、Python、Halcon版本