❶ android从浏览器中打开本地应用
开发中遇到的一些问题特此记录:
1、应用场景一 在浏览器中要求直接打开到安装的应用中
需要在该应用的启动Activity 清单文件中进行配置
<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:host="com..test"
android:scheme="text"/>
</Intent-filter>
此处对应的data数据 跟服务器人员进行交互的时候为:text://com..test
2、应用场景二 在浏览器中进行打开 并且要求打开指定的具体的页面
首先得在清单文件中进行上面一样的配置 接着和从其他跳转的activity中获取的一样 ,通过intent来进行数据的获取
if(intent !=null) {
Uri uri = intent.getData();
if(uri !=null) {
String host = uri.getHost();
LogUtil.d(TAG,host);
String data = uri.getQueryParameter("code");
try{
jumpData= URLDecoder.decode(data,"UTF-8");
LogUtil.d(TAG,jumpData);
}catch(UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
这样获取到的数据就是需要的数据 所要跳转的具体信息具体跳转类型都会获取到,然后在跟以前一样进行跳转就可以了。
❷ 安卓手机怎么打开url
首先需要一台安装有浏览器且能够正常上网的手机。
一、在文件管理器中找到需要打开的url文件,并选择打开为文本。
❸ URL scheme启动Android应用,原生Android浏览器解析不正确
1、自定义URL Scheme:
创建一个activity并加上一个<intent-filter>(如果该activity是包含其他<intent-filter>,则需新建一个<intenf-filter>,不能在原有filter上添加),内容为:
<action android:name="android.intent.action.VIEW"/><!-- 若删除,使用startActivity启动android.content.ActivityNotFoundException,使用HTMLViewer启动找不到网页-->
<category android:name="android.intent.category.BROWSABLE"/><!-- 若删除,使用startActivity启动ok,使用HTMLViewer启动找不到网页 -->
<category android:name="android.intent.category.DEFAULT"/><!-- 若删除,使用startActivity启动android.content.ActivityNotFoundException,使用HTMLViewer启动找不到网页-->
<data android:scheme="myapp"/><!-- scheme的值可自定义 -->
2、通过URL Scheme启动Android应用
方式一:通过代码访问:Intent intent = new Intent();
/**parse的参数值说明如下
* 只写myapp,启动android.content.ActivityNotFoundException
* 写myapp://12,成功
* 写myapp://da?sd=ad,成功
*/
intent.setData(Uri.parse("myapp://12"));
startActivity(intent);
方式二:通过网页访问:
/**href的值说明如下
* 只写myapp,找不到网页
* 写myapp://12,成功
* 写myapp://da?sd=ad,成功
*/
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>通过URL Scheme启动Android应用</title>
</head>
<body>
<form>
<a href="myapp://12">启动</a>
</form>
</body>
</html>
创建完成后发送到手机,再点击html选择使用HTMLViewer打开,再点击链接即可启动应用。
3、总结:第二种方式实现有点繁琐,最好的实现方式是直接在浏览器中输入url以启动应用。在网上搜索找到应如下操作:在浏览器的搜索栏输入如下url:content://com.android.htmlfileprovider/storage/emulated/0/myapp://12,经测试无法成功。不知道是哪里的问题,还请知道的指点一二。
❹ Android点击短信链接打开App之App Link 技术实现(亲证篇)
学习资料:
Android 点击Url(短信链接)打开App 的调研与实现
Google App Link 技术实现(亲证篇)
AppLinks使用详解
实现方式分:Deep linking 与 Android App Links
Deep linking方式实现:具体可以参考 Android 点击Url(短信链接)打开App 的调研与实现
Android App Links方式实现
第一步 验证一个服务器地址(例如https://asuss.ryit.co),成功验证通过后,当用户在短信中点击于类似https://asuss.ryit.co/login的web链接,即可打开app本地相关页面,我们在AndroidMenifest的启动页进行配置
第二步 assetlinks.json文件制作 Android Studio中Tools>App Link Assistants
这个文件只能放在https的链接中,不管你之前在action中声明的是http或者https
第三步 验证
1)打开浏览器访问https://asuss.ryit.co/.well-known/assetlinks.json,正常应该看到该文件内容输出。
2)访问google api,查看app是否通过App Links验证(需翻墙这步一定要做,有人反馈如果不做这步还是deeplink)
https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://asuss.ryit.co(替换你的服务器名)&relation=delegate_permission/common.handle_all_urls
3)在短信中编辑https://asuss.ryit.co,之后点击url直接跳转到应用中省去了跳转到浏览器的选择跳转过程
注意:图中url为个人虚拟url了,替换即可
散花,爱你们,我的安卓老兄弟们,安卓老姐们,我踩完坑了。
❺ android手机怎么才能直接打开URL链接文件
在安卓代码中调用浏览器来打开相应的网页,一般有以下几种方式
调用默认浏览器。
其他浏览器。
自定义一个简单的WebView浏览器。
【原理】
主要是通过代码进行调用已有或者未有的浏览器进行打开相应的网页进行浏览。
【详细实现步奏】
一.调用默认浏览器
优缺点:部分手机可能连默认的浏览器都没有。
123456二.其他浏览器,制定打开
缺点:必须知道打开的浏览器的包名,大部分用户可能没有安装这些浏览器
123456三.自定义一个简单的WebView浏览器
优缺点:推荐使用,不必担心手机上是否有浏览器。
12345【最后】
每种方法根据个人需要进行选用,没其他特别因素推荐使用第三种方案。
❻ 手机如何打开url文件
url文件手机打开需要一个带有浏览器以及正常上网的能力手机。方法如下:
准备工具:小米10。
系统版本:安卓7.0。
第一步:在文件管理器中找到需要打开的url文件,并选择打开方式为“文本”。见下图所示:
❼ Android 12 新特性:让 URL 分享更简单
相比较之前的 2 个 Beta 版本,日前发布的 Android 12 Beta 3 引入了大量的变化和改进。虽然Google在博客中详细罗列了 Beta 3 中面向用户的重大变化,但很多细节上的改变并没有完整收录。 援引外媒 XDA 报道,Android 12 引入了一个非常有用的功能--近期 URL 分享。
该功能可以让你快速复制近期应用概览中的链接。事实上早在 Beta 3 发布的时候,XDA 编辑就注意到了这项功能,只是当时并不清楚是如何工作的。而现在Google分享了开发者文档,对这项功能进行了详细说明。
根据官方文档,近期 URL 分享功能是可以由任何提供网络用户界面并覆盖活动类的 onProvideAssistContent 方法的应用程序启用。该方法用于向助理应用程序提供关于当前前景内容的结构化信息。基本上,应用程序可以告诉助理,当前的前景内容是从一个特定的网页加载的。而在 Android 12 中,该 URL 被提取出来并显示给用户,让他们可以轻松地从最近的应用概览中复制它。
正如你在截图中看到的那样,URL 以图标的形式出现在最近应用概览中的应用卡的右上角。你可以点击它来查看完整的 URL,然后从最近的应用概览中复制或分享它。点击该按钮也会在底部出现联系人建议,以帮助你在同一屏幕上分享该URL。
目前,如果你想从Google浏览器中复制一个链接并与朋友分享,你必须点击地址栏,然后点击复制按钮,切换到你选择的消息应用程序,然后在点击发送之前将 URL 粘贴到那里。或者,你可以点击地址栏,然后点击分享按钮,从分享表中选择你想分享链接的应用程序,然后选择你想分享的联系人。在这两种情况下,这都是一个相当漫长的过程。
最近的URL共享功能旨在很大程度上简化这一过程,让你向上滑动打开最近的应用程序概览,然后在同一屏幕上复制或分享链接。
❽ 安卓手机怎么打开url
安卓手机打开url文件首先需要在文件管理器中找到需要打开的url文件,再用“文本”方式打开,点击使用HTML查看器打开。最底下一行是网络地址,从“=”号后面开始选择,直接复制,打开浏览器在浏览器搜索栏中粘贴url,点击进入即可看到相关内容。
在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位器),它是WWW的统一资源定位标志,就是指网络地址。
相关信息
hostname(主机名)
是指存放资源的服务器的域名系统(DNS)主机名或IP地址。有时,在主机名前也可以包含连接到服务器所需的用户名和密码(格式:username:password@hostname)。
port(端口号)
整数,可选,省略时使用方案的默认端口,各种传输协议都有默认的端口号,如http的默认端口为80。如果输入时省略,则使用默认端口号。有时候出于安全或其他考虑,可以在服务器上对端口进行重定义,即采用非标准端口号,此时,URL中就不能省略端口号这一项。
❾ 在android手机如何通过浏览器URL链接打开android应用
在activity里加上如下即可,在触发url的时候你的应用会和浏览器一起显示在选项列表里,选择了你的应用就用你的应用打开了
❿ Android 跨应用间调用: URL Scheme
Android中的自定义的 URL Scheme 是一种页面内跳转协议,也可以被称为 URLRouter ,就是通过类似打开网页的方式去通过路由打开一个Activity,而非直接通过显式Intent方式去进行跳转。这样隐式intent的方法跳转好处如下:
上文已经说过, URL Scheme 是就通过类似打开网页的方式去通过路由打开一个Activity,其协议格式和我们打开网页输入的网址类似。
一个完整的完整的URL Scheme协议格式由scheme、host、port、path和query组成,其结构如下所示:
其中scheme既可以是Android中常见的协议,也可以是我们自定义的协议。Android中常见的协议包括content协议、http协议、file协议等,自定义协议可以使用自定义的字符串,当我们启动第三方的应用时候,多是使用自定义协议。
如下是一个自定义协议的URI:
通过上面的路径 Scheme、Host、port、path、query全部包含:
URL Scheme 的使用方法简要言之就是先在manifest中配置能接受Scheme方式启动的activity;当需要调用时,将Scheme协议的URi以Data的形式加入到Intent中,隐式调用该activity。
1). 在AndroidManifest.xml中对<activity >标签增加<intent-filter>设置Scheme
上面的设置中可以看到,MainActivity包含多个<intent-filter>设置,第一个是正常的启动,也就是在应用列表中启动;第二个是通过 URL Scheme 方式启动,其本身也是隐式Intent调用的一种,不同在于添加了<data>属性,定义了其接受 URL Scheme 协议格式为 urlschemel://auth_activity
这里需要说明下, URL Scheme 协议格式中,组成URI的这些属性在<data >标签中都是可选的 ,但存在如下的依赖关系:
当我们将intent对象中的Uri参数与intent-filter中的<data>标签指定的URI格式进行对比时,我们只对比intent-filter的<data>标签指定的部分,例如:
需要注意的是,intent-filter的<data>标签在指定path的值时,可以在里面使用通配符*,起到部分匹配的效果。
2). 使用URL启动Activity
当然可以在网页中调用
或者是在JS中调用
3.)如何判断URL Scheme是否有效
有时候需要把一些辅助性的、较为独立的APP在Home Launcher中隐藏起来,只允许一些特定的APP调用。这个时候,我们可以利用 URL Scheme 协议来做到这一点,设置AndroidManifest.xml中对<activity >标签如下
因为Home Launcher列出的应用图标要求必须有Activity同时满足
上面的配置中有多余的category和data限制存在,所以并不匹配,不会在Home Launcher出现,但是可以使用 URL Scheme 来启动。
这样就可以将一组APP设置一个统一的入口,然后根据实际需要在调用不同子APP,即所谓的 APP业务组件化 , URL Scheme 在其中有着重要的作用,更进一步讨论会在以后的文章中呈现,敬请期待。
参考文献:
http://blog.csdn.net/iispring/article/details/48481793
http://blog.csdn.net/hb707934728/article/details/53196419
http://www.cnblogs.com/whoislcj/p/5825333.html