如何输入网址打开网页使用webView打开一个网址

Pages: 1/2
主题 : 如何实现点击UIWebView中链接调用Safari打开目标链接
级别: 新手上路
可可豆: 200 CB
威望: 200 点
在线时间: 81(时)
发自: Web Page
如何实现点击UIWebView中链接调用Safari打开目标链接&&&
我的App中包含一个UIWebView,UIWebView中显示的页面下方有几个友情链接,想实现点击这些友情链接的时候,调用iOS系统的Safari打开这些目标链接,而不是在UIWebView里面打开,请问如何实现?[ 此帖被ibubble在 17:11重新编辑 ]
级别: 侠客
可可豆: 1396 CB
威望: 1335 点
在线时间: 1025(时)
发自: Web Page
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationT {&&&&NSURL *requestURL =[ [ request URL ] retain ]; &&&&if ( ( [ [ requestURL scheme ] isEqualToString: @&http& ] || [ [ requestURL scheme ] isEqualToString: @&https& ] || [ [ requestURL scheme ] isEqualToString: @&mailto& ]) &&&&&&&&&& ( navigationType == UIWebViewNavigationTypeLinkClicked ) ) { &&&&&&&&return ![ [ UIApplication sharedApplication ] openURL: [ requestURL autorelease ] ]; &&&&} &&&&[ requestURL release ]; &&&&return YES; }
级别: 新手上路
可可豆: 200 CB
威望: 200 点
在线时间: 81(时)
发自: Web Page
搞定!谢谢楼上兄弟!
级别: 新手上路
可可豆: 320 CB
威望: 320 点
在线时间: 53(时)
发自: Web Page
这个好,收藏
级别: 骑士
可可豆: 1961 CB
威望: 1961 点
在线时间: 1176(时)
发自: Web Page
引用 引用第1楼leemax于 12:56发表的&&:[code]-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationT {    NSURL *requestURL =[ [ request URL ] retain ];     if ( ( [ [ requestURL scheme ] isEqualToString: @&http& ] || [ [ requestURL scheme ] isEqualToString: @&https& ] || [ [ requestURL scheme ] isEqualToString: @&mailto& ])         && ( navigationType == UIWebViewNavigationTypeLinkClicked ) ) { ....... 收益了,感谢。
乔布斯的座右铭是活着为了改变世界,我没那么大抱负,我只希望在我死之前不要被世界改变。
级别: 骑士
可可豆: 2099 CB
威望: 2100 点
在线时间: 410(时)
发自: Web Page
好方法啊,学习了,感谢
级别: 侠客
可可豆: 770 CB
威望: 770 点
在线时间: 228(时)
发自: Web Page
非常好,,标记一下咯
级别: 新手上路
UID: 30998
可可豆: 92 CB
威望: 54 点
在线时间: 52(时)
发自: Web Page
是要标记一下,收下了!
级别: 骑士
可可豆: 2993 CB
威望: 2993 点
在线时间: 599(时)
发自: Web Page
mark~~~~~~~~~~
级别: 新手上路
可可豆: 55 CB
威望: 55 点
在线时间: 88(时)
发自: Web Page
mark。。。
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版" id="1747634" data-tid="1538748" data-pid="1747634" data-position="1" data-fid="112" data-authorid="2875682" data-author="醉 不愿醒" data-dateline="">
我用咱们的x5webview 加载了一个视频地址, 想在上面再加一层view 想要点击view的时候 能够播放视频 请问该调用什么方法
我用咱们的x5webview&加载了一个视频地址,&想在上面再加一层view&想要点击view的时候&能够播放视频&请问该调用什么方法
应用名称以及版本
第三方APP接入 deviceone
复现问题的机型和ROM版本
三星GT-N7108
我用咱们的x5webview 加载了一个视频地址, 想在上面再加一层view 想要点击view的时候 能够播放视频 请问该调用什么方法
复现问题的操作步骤
我用咱们的x5webview 加载了一个视频地址, 想在上面再加一层view 想要点击view的时候 能够播放视频 请问该调用什么方法
问题页面url
问题是否必现
系统内核现象
微信是否存在
解决情况:不支持。如还有问题,请重新提问&。
您需要&&后才可以回帖
输入下图中的字符
分类显示模式下长按文件最好能显示文件路径或者能直接跳转到文件所在目录里。 ...
输入下图中的字符
注册论坛帐号
论坛支持使用QQ帐号和邮箱帐号登录。已有QQ帐号?请程序写累了,就来玩玩酷跑小游戏吧,嘿嘿。
雨松MOMO送你一首歌曲,嘿嘿。
Unity3D研究院之在Android中打开WebView(三十)
Unity3D研究院之在Android中打开WebView(三十)
围观56082次
编辑日期: 字体:
昨天有个朋友问我如何在Unity中调用Android中的WebView组件,实现内部浏览器样式的页面切换。开始我告诉他可以通过Unity中打开Activity来实现,其实在之前的文章 我已经写的很清楚啦。难得有时间那么MOMO就为了这个朋友将Unity内嵌浏览器的方法在分享出来,看这篇文章之前请一定要看 因为之前写过的东西MOMO在这里就不赘述啦。废话不多说,我们开始进入正题,首先打开Eclipse创建一个Android的工程、
UnityTestActivity.java 入口Activity ,Unity中会调用这个Activity中的方法从而打开网页。
12345678910111213141516171819202122232425
package com.xys;&import android.content.Context;import android.content.Intent;import android.os.Bundle;import com.unity3d.player.UnityPlayerActivity;&public class UnityTestActivity extends UnityPlayerActivity {& Context mContext = null;& @Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;& }& //Unity中会调用这个方法,从而开打WebView
public void StartWebView(String str)
{ &&&&&&&& Intent intent = new Intent(mContext,WebViewActivity.class); &&&&&&&& this.startActivity(intent);
WebViewActivity.java Unity中发出通知打开这个Activity 继而打开WebView,没有什么难点大家看看就应当能掌握。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
package com.xys;&import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.webkit.WebView;import android.widget.Button;&public class WebViewActivity extends Activity{& private WebView webView; private Button close; @Override protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);&
setContentView(R.layout.main);&
webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("http://www.baidu.com/"); &&&&webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());&
close = (Button) findViewById(R.id.button);
close.setOnClickListener(new OnClickListener() {&
public void onClick(View v) {
WebViewActivity.this.finish();&
}); }& private class WebViewClient extends android.webkit.WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//这里实现的目标是在网页中继续点开一个新链接,还是停留在当前程序中
view.loadUrl(url);
return super.shouldOverrideUrlLoading(view, url);&
然后是main.xml
123456789101112131415161718192021
&?xml version="1.0" encoding="utf-8"?&&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&&&&android:layout_width="fill_parent"&&&&android:layout_height="fill_parent"&&&&android:orientation="vertical" &&&&&WebView&&&&&&&&&&&&android:id="@+id/webView"&&&&&&&&&&&&android:layout_width="fill_parent"&&&&&&&&&&&&android:layout_height="wrap_content"&&&&&&&&&&&&android:layout_weight="1.0"&&&&&&&&&&&&/&&&&&&&&&Button&&&&&&&&&&&&android:id="@+id/button"&&&&&&&&&&&&android:text="关闭网页"&&&&&&&&&&&&android:layout_width="wrap_content"&&&&&&&&&&&&android:layout_height="wrap_content"&&&&&&&&&&&&/&&&&&/LinearLayout&
最后是AndroidManifest.xml
123456789101112131415161718192021222324252627282930
&?xml version="1.0" encoding="utf-8"?&&manifest xmlns:android="http://schemas.android.com/apk/res/android"&&&&package="com.xys"&&&&android:versionCode="1"&&&&android:versionName="1.0" &&&&&&&uses-sdk android:minSdkVersion="10" /&&&&&&&application&&&&&&&&android:icon="@drawable/ic_launcher"&&&&&&&&android:label="@string/app_name" &&&&&&&&&&activity&&&&&&&&&&&&android:name=".UnityTestActivity"&&&&&&&&&&&&android:label="@string/app_name" &&&&&&&&&&&&&&intent-filter&&&&&&&&&&&&&&&&&&action android:name="android.intent.action.MAIN" /&&&&&&&&&&&&&&&&&&&category android:name="android.intent.category.LAUNCHER" /&&&&&&&&&&&&&&/intent-filter&&&&&&&&&&/activity&&&&&&&& &activity&&&&&&&&&&&&android:name=".WebViewActivity"&&&&&&&&&&/activity&&&&&&/application&&&&&&&!-- 连接互联网的权限 --&&&&&&uses-permission android:name="android.permission.INTERNET" /&&&/manifest&
OK 到这里JAVA代码已经完全写完,然后把所有.JAVA文件打包变成.class文件,具体转换的方法大家可以参照MOMO之前的文章,写的已经很清楚啦。
下面是Unity中的部分。点击图片可以查看大图,具体内容就在里面没什么东西,就是创建Plugins文件夹 然后把Android代码的res文件夹AndroidManifest文件还有刚刚生成的class文件拷贝至bin文件夹即可。
唯一的脚本文件Test.cs
123456789101112131415161718192021222324252627
using UnityEngine;using System.Collections;&public class Test : MonoBehaviour {& // Update is called once per frame void Update () {
//当用户按下手机的返回键或home键退出游戏
if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.Home) )&&
Application.Quit();&&
} }& void OnGUI() {
if(GUILayout.Button("OPEN WEBVIEW",GUILayout.Height(100)))
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");&&&&&&
AndroidJavaObject jo = jc.GetStatic&AndroidJavaObject&("currentActivity");&&&&&&&&
jo.Call("StartWebView","");
注释1:这里就是通知UnityTestActivity调用StartWebView方法,继而打开网页。
然后就是打包编译上真机。 先是Unity的界面,点击左上角按钮后程序将打开网页。
www.baidu.com 的网页已经被打开啦。是嵌套在Unity中打开的噢。
MOMO在百度里面写入 “宣雨松” 做为关键字搜索一下。新打开的网页依然嵌套在Unity中,这样就好像在 Unity中集成了一个内部浏览器一样的东东啦。还不错吧 哇咔咔。 我的书终于出版了心里还是比较高兴的啦啦啦。。
如果想关闭网页回到Unity的话,点击左下角按钮 “关闭网页” 或者手机自带返回键即可。 如下图所示我们又回到了Unity中啦。哇咔咔。。
最后当然是本文的源代码啦,源码包括Android工程以及Unity工程。 雨松MOMO祝大家学习愉快啦啦啦,希望昨天给我留言求助的朋友能看到这篇文章。
本文固定链接:
转载请注明:
雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
您可能还会对这些文章感兴趣!
Pingback 引用通告:他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 如何打开国外网址 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信