本文讲述了如何在unity中调用android中的webview组件,实现内部浏览器样式的页面切换。首先打开eclipse创建一个android的工程:

unitytestactivity.java 入口activity ,unity中会调用这个activity中的方法从而打开网页。

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,没有什么难点大家看看就应当能掌握。

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() {

@override

public void onclick(view v) {

webviewactivity.this.finish();

}

});

}

private class webviewclient extends android.webkit.webviewclient {

@override

public boolean shouldoverrideurlloading(webview view, string url) {

//这里实现的目标是在网页中继续点开一个新链接,还是停留在当前程序中

view.loadurl(url);

return super.shouldoverrideurlloading(view, url);

}

}

}

然后是main.xml

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:id="@+id/webview"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight="1.0"

/>

android:id="@+id/button"

android:text="关闭网页"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

/>

最后是androidmanifest.xml

package="com.xys"

android:versioncode="1"

android:versionname="1.0" >

android:icon="@drawable/ic_launcher"

android:label="@string/app_name" >

android:name=".unitytestactivity"

android:label="@string/app_name" >

android:name=".webviewactivity">

ok 到这里java代码已经完全写完,然后把所有.java文件打包变成.class文件,具体转换的方法大家可以参照相关的文章,这里就不再重复介绍了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐