android打开系统浏览器
‘壹’ android 怎么让系统浏览器打开指定链接
android实现通过浏览器点击链接打开本地应用(APP)并拿到浏览器传递的数据 方法/步骤 为了实现这个功能可折腾了我好久,先上一份代码,经楼主验证是绝对可以用的而且也比较清晰的代码!(ps:还是先剧透下吧,第三方大部分浏览器无法成功。) 点击浏览器中的URL链接,启动特定的App。 首先做成HTML的页面,页面内容格式如下: <a href="[scheme]://[host]/[path]?[query]">启动应用程序</a> 这一句就可以了。 各个项目含义如下所示: scheme:判别启动的App。 ※详细后述 host:适当记述 path:传值时必须的key ※没有也可以 query:获取值的Key和Value ※没有也可以 作为测试好好写了一下,如下: <a href="myapp://jp.app/openwith?name=zhangsan&age=26">启动应用程序</a> 接下来是Android端。 首先在AndroidManifest.xml的MAIN Activity下追加以下内容。(启动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:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/> </intent-filter> HTML记述的内容加入<data …/>。 其中必须的内容仅scheme,没有其他内容app也能启动。 ※注意事项:intent-filter的内容【android.intent.action.MAIN】和 【android.intent.category.LAUNCHER】这2个,不能与这次追加的内容混合。 所以,如果加入了同一个Activity,请按以下这样做,否则会导致应用图标在桌面消失等问题。 复制代码 <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <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" android:host="jp.app" android:pathPrefix="/openwith"/> </intent-filter> 复制代码 这样的话,没有问题。 接下来在Activity中需要取值的地方添加以下代码,我是直接写在OnCreate函数里的: Intent i_getvalue = getIntent(); String action = i_getvalue.getAction(); if(Intent.ACTION_VIEW.equals(action)){ Uri uri = i_getvalue.getData(); if(uri != null){ String name = uri.getQueryParameter("name"); String age= uri.getQueryParameter("age"); } } 这样就能获取到URL传递过来的值了。 ——————————————————————————————————我是分割线———————————————————————————————————— 代码完了,是不是很惊奇的发现用浏览器输入 myapp://jp.app/openwith?name=zhangsan&age=26 是不是404,打不开? 楼主你这不是骗人么!楼主你个混蛋啊。 客官,稍安勿躁啊,你看看你用的浏览器是什么?UC,猎豹,欧朋?放弃吧,试试系统自带浏览器或者谷歌浏览器吧。肯定能成功的,不能成功的话再来坑我。哈哈。 ——————————————————————————————————我是分割线———————————————————————————————————— 突然觉得好悲哀,好不容易get了这个技能,却不能被第三方浏览器使用。在这个android浏览器大部分被第三方占据着的时代不得不说是个悲剧啊。 接下来还是说说为什么第三方浏览器不能成功吧。首先,我发现的是UC浏览器,如果你使用了自己的scheme,而不是http的话,uc会默认在你的scheme前面添加。这太坑爹了。其他浏览器没看是不是同样的情况。发现这个问题后我就试着把自己的scheme换成http。然后满怀期待的又跑了一遍,结果还是坑爹了。所以我想会不会是第三方浏览器对url做了处理。到这里,我也无可奈何了。我测试了UC,猎豹,欧朋,这3个都不支持。系统自带的和谷歌浏览器是支持的。 最后再补充个线索吧,在浏览器里搜索网络应用。进了他们的页面后,他们是可以实现在各种浏览器启动已经安装好的本地app的。看到这个后我就看了下他们页面的源码。 在这里他们页面添加了个data-sentintent的标签,看到这里,应该能确定第三方浏览器应该是默认都不支持发intent的,只能自己起一个。根据前端说,这个标签应该是自定义的。我们前端看源码的时候发现是这样的 所以最后的结果应该是网络这边是起了个端口,然后在应用里启用了一个服务,来监听这个端口,来获取这个intent。大概就这个思路了。不过楼主没有实际去操作。项目时间紧,太麻烦了。
‘贰’ Android怎么更改默认浏览器什么的.....
Android系统手机上清除默认设置的步骤:
1、进入手机【设置】
2、选择【应用】
3、点击进入某个应用,然后找到【默认启动】那个设置,点击【清除默认设置】。
接着你可以把想要的软件设为默认使用软件。
同时,再打开一个外部链接或视频的时候,没有设置默认软件的话会弹出窗口让你选择使用何种方式打开,此时你也可以设置:比如从微信朋友圈选择在浏览器打开观看时,会弹出一个(如图)此时你也可以做修改,当然,是从你已经安装的软件是选择默认软件
‘叁’ Android浏览器如何打开本地html文件
android 浏览器
打开本地html文件的方法
有些html文件放在本地磁盘和sdcard,如何用打开这个网页呢?
这种应用在测试时非常有用。
有2个方法:
1.使用文件管理器
如ES等,需要幸运的是你的文件管理器直接用浏览器打开。
2.在浏览器输入地址
访问本地磁盘和SD卡上的HTML,前部分content://com.android.htmlfileprovider是Provider的标准,后面是程序目录。
比如sdcard的tesl.html
直接在浏览器里输入content://com.android.htmlfileprovider/sdcard/test.html回车就可以看到网页了。
在代码
webView.loadUrl("content://com.android.htmlfileprovider/sdcard/test.html")
如果是其它程序的私有html文件,这样做会失败。
这是由于com.android.htmlfileprovider的权限不够,如果是重写一个私有的HtmlProvider位于同一个应用中,应该能解决问题。然后就参考了原来的com.android.htmlfileprovider
源代码,改写了下。问题解决了,使用私有的HTMLProvider,可以轻松的访问手机内存中,程序私有目录下的html文件。
网上有例子,你可以搜索!
‘肆’ 安卓开发怎么在APP内部调用手机系统浏览器打开指定html并获取HTML的数据
Android开发_如何调用 浏览器访问网页和Html文件
一、启动android默认浏览器
Intent intent= new Intent();
intent.setAction('android.intent.action.VIEW');
Uri content_url = Uri.parse('http://www.cnblogs.com');
intent.setData(content_url);
startActivity(intent);
这样子,android就可以调用起手机默认的浏览器访问。
二、指定相应的浏览器访问
1、指定android自带的浏览器访问
( “com.android.browser”:packagename ;“com.android.browser.BrowserActivity”:启动主activity)
Intent intent= new Intent();
intent.setAction('android.intent.action.VIEW');
Uri content_url = Uri.parse('http://www.cnblogs.com');
intent.setData(content_url);
intent.setClassName('com.android.browser','com.android.browser.BrowserActivity');
startActivity(intent);
2、启动其他浏览器(当然该浏览器必须安装在机器上)
只要修改以下相应的packagename 和 主启动activity即可调用其他浏览器
intent.setClassName('com.android.browser','com.android.browser.BrowserActivity');
uc浏览器':'com.uc.browser', 'com.uc.browser.ActivityUpdate“
opera :'com.opera.mini.android', 'com.opera.mini.android.Browser'
qq浏览器:'com.tencent.mtt', 'com.tencent.mtt.MainActivity'
三、打开本地html文件
打开本地的html文件的时候,一定要指定某个浏览器,而不能采用方式一来浏览,具体示例代码如下
Intent intent= new Intent();
intent.setAction('android.intent.action.VIEW');
Uri content_url = Uri.parse('content://com.android.htmlfileprovider/sdcard/help.html');
intent.setData(content_url);
intent.setClassName('com.android.browser','com.android.browser.BrowserActivity');
startActivity(intent);
关键点是调用了”content“这个filter。
以前有在win32编程的朋友,可能会觉得用这种形式”file://sccard/help.html“是否可以,可以很肯定的跟你说,默认的浏览器设置是没有对”file“这个进行解析的,如果要让你的默认android浏览器有这个功能需要自己到android源码修改manifest.xml文件,然后自己编译浏览器代码生成相应的apk包来重新在机器上安装。
大体的步骤如下:
1、打开 packages/apps/Browser/AndroidManifest.xml文件把加到相应的后面就可以了
2、重新编译打包,安装,这样子,新的浏览器就支持”file“这个形式了
有兴趣的可以去试试。
‘伍’ Android如何调用系统默认浏览器访问(2)
2、启动其他浏览器(当然该浏览器必须安装在机器上) 只要修改以下相应的packagename 和 主启动activity即可调用其他浏览器 intent.setClassName(com.android.browser,com.android.browser.BrowserActivity); uc浏
‘陆’ 如何在Android中调用浏览器打开网页
android打开系统默认的软件,通常使用的是inent意图这个类,如下打开浏览器: Intent
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// get the view web intent
Intent intent = this.getViewWebIntent();
this.(intent);
// set the className to use the specific browser to open the webpage.
intent.setClassName("com.tencent.mtt", "com.tencent.mtt.MainActivity");
startActivity(intent);
}
/*
*get the desired view web intent
*/
private Intent getViewWebIntent() {
Intent viewWebIntent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("http://www.2cto.com");
viewWebIntent.setData(uri);
return viewWebIntent;
}
里面可以填上任意的url,也可以利用inent发送信息、拨打电话,记日历
‘柒’ 【高分悬赏】在Android系统中,利用系统的浏览器展示我们的页面,其中有一个链接,点击后打开短信列表。
分两种情况:
1.如果你是没有客户端的,用系统浏览器打开,那么点击你网页里的链接,是不可能调用到android的短信列表的,因为没有权限。
2.如果你打算做一个客户端版的,这时候你需要添加读取短信的权限,而把你的网页用webView来进行加载,在点击页面此链接时有一个交互,收到此命令,程序实现打开短信列表的功能。
至于WebView的交互,你可以在网上查一下资料,打开短信也是,容易找到的,难度不大。
但是想仅仅通过浏览器,能调出短信列表,这是不现实的。
‘捌’ Android程序中怎么启动浏览器
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse("你想启动我网址");
intent.setData(content_url); startActivity(intent);
‘玖’ android 跳转到系统浏览器 是在activity的onCreate方法中跳转,
分开两个页面来做..先显示Activity.然后写个Timetask 延时指定秒数再跳转