• [Unity3D]调用Android接口


    简介

    有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如...

    有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去编写Java代码,然后打包jar导入到Unity工程,然后通过Unity提供的调用Android接口的函数去调用jar包中的函数即可。

    这里我们就介绍一下使用Unity实现手机震动效果

    实现内容简要说明:

    1.     Android提供jar文件,xml文件,res目录,libs目录

    2.     通过AndroidJavaClass去调用Android函数

    另外,这些功能只能在真机上运行!

    具体实现:

    Android部分

    1.下载AndroidSDK(需要包含ADT编辑器的)

    官方下载连接:http://developer.android.com/sdk/index.html

    2      创建Android项目

    菜单位置:File ->New->Android Application Project

    创建过程中,只有一下这个界面的内容需要更改,其他的使用默认的就行

     

             生成后解决方案的目录如图

             

             其中MainActivity就是我们需要编辑的java文件了

    3.     导入Unity相关jar

    Jar目录:unity的安装路径EditorDataPlaybackEnginesandroidplayerin下的classes.jar

    通过AddExternalArchives添加,如图:

     

    4.     导入jar后,就可以开始编辑相关的函数了,打开MainActivity

    添加unityActivity,使MainActivity继承UnityPlayerActivity,并把SetContentView函数删掉(不然到手机上启动程序的时候就会只看到一句HelloWorld),这里用一个比较函数Max作为例子,有参数,有返回值

    5.     到这里,需要的函数已经写完,再修改一下xml文件

    Xml文件在工程文件目录下,叫AndroidManifest.xml

    6.     接下来到处jar包

    点击Export后选择Java目录下的Jar file,选择好路径之后按默认选项去到处jar文件即可

    7.     到这里Android部分结束了

    Unity部分

    1.     设置PlayerSetting,要与Android的package对应上

    2.     在Assets目录下添加PluginsAndroid目录,把Android的jar文件,res文件夹,libs文件夹,xml文件放入该目录

    3.     调用相关函数

    (注:初步了解这里的参数之所以填”com.unity3d.player.UnityPlayer”和”currentActivity”,是因为在生成jar文件的时候,已经指定了MainActivityclass继承UnityPlayerActivity,也在XML指定了MainActivity是Main class)

     引自:http://blog.csdn.net/xv_ly15/article/details/9314199

    Android权限列表

    另外,附上Android权限列表链接(http://blog.csdn.net/xv_ly15/article/details/9314299

  • 相关阅读:
    CentOS Redmine 安装
    [转]Fedora 16 改变启动顺序以及grub2 配置技巧
    impdp/expdp 使用
    Bash 快捷键
    VirtualBox双网卡虚拟机LinuxNAT不能上网
    PRO*C结果集
    Arch Linux 安装配置
    ORA01658: 无法为表空间HS_HIS_DATA中的段创建 INITIAL 区
    XP远程桌面模式下开启ClearType
    制作索引
  • 原文地址:https://www.cnblogs.com/catWang/p/3643373.html
Copyright © 2020-2023  润新知