Android与Unity的交互(Intent启动网页)

从没接触过unity,但是实习的时候需要了解

Android

在android启动一个网页,很简单

Intent intent = new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.baidu.com"));startActivity(intent);

但是在unity中就不是这样啦,那如何操作呢。首先我们新建一个AS工程

应用名建议填写 你准备发布的包名例如cn.krisez.demo 就写demo接下来一直next就Ok

 当然api建议选择4.0以上(别问我为什么)

接下来进入我们的unity安装地址

 C:\Program Files\Unity 2018.1.0b9\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\找到class.jar

复制到我们AS得libs文件夹下面然后就以来我们的jar包(不会请谷歌Or百度)

等工程创建好后,进入build.gradle(app)

1. apply plugin: 'com.android.application' 修改为 apply plugin: 'com.android.library'

2. applicationId 这一行删除

3. 

只留下drawable,layout,values里的string.xml 。。

4. 最后Android里的重要组件Activity 删了emmmmm删了。。。

因为Unity在生成APK文件的时候,会自己有一个Activity(UnityPlayerActivity),因为游戏只有一个Activity就好了其他的再说,对吧。

5. 接着为了我们能够交互,我们java要有一个代码,取名Utils.java

public class Utils {

public static void startAnother(Activity activity){

Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse("http://www.krisez.cn"));

activity.startActivity(intent);}

}

由于我们没有了activity,所以我们的AndroidMainfest.xml类似于:


最后结构

然后我们开始run,但是我们修改了gradle文件 所以现在我们选择

接着等它build结束,我们把视图切回project,我们就能找到这个aar文件了


我们把它复制到桌面上,或者放在这,别动AS了

 Unity

现在我们打开Unity,新建一个项目,都默认就好了

首先找到我们的project视图

我们要在里面创建如下所示,Plugins根目录就是Assets


选择我们的app-release右键选择Show In Explorers删除.mate文件

然后打开我们的压缩包aar文件,找到libs文件夹,里面有我们的jar包(unity的)删除它。

ok完成回到我们的unity。

打开Unity,我们在这里


创建一个button,同时Unity会自动帮我们创建好Canvas和EventSystem接着点击Canvas,选择

如图所示,选择camera视角同时绑定camera接着我们Create一个C#脚本(没有Js了开始习惯吧,我也才接触啊)挂在到canvas上面(直接拖过去就好了)

接着我们编写脚本

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Click : MonoBehaviour {

private AndroidJavaObject jo;

// Use this for initialization

void Start () {

AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");//初始化jo = jc.GetStatic("currentActivity");//得到activity

}

// Update is called once per frame

void Update () {}

public void Show(){

AndroidJavaClass ajc = new AndroidJavaClass("cn.krisez.air.Utils");//得到自己写的类ajc.CallStatic("startAnother",jo);

}}

我们选择将canvas(因为脚本挂在这玩意上面)添加到button的onclick()中然后我们选择方法如下图


最后我们打包File->Build Settings->android->switch platform->player settings

我们能看到Inspector有我们的设置信息

Company Name 公司名 不能默认

 Product Name 产品名 不能默认

然后我们找到other setting 填入我们的app信息了

Color Space选择Gamma

其他不管,接着我们的Identification的内容packgename 包名 你AS的包是撒 就写撒,别瞎写

然后其他默认就好(如果你要签名,选择publishing settings按要求填就Ok )


最后我们Build得到Apk,安装测试,完成。这里就不贴图了。

有问题请说

个人网站地址Krisez – Android

你可能感兴趣的:(Android与Unity的交互(Intent启动网页))