Unity开发的时候很多时候我们需要用底层一些功能,比如摄像,录音,震动等等,我们在Unity的层面是无法完成的。那么我们考虑到Unity是否可以直接调用到android方面的方法,替我们去完成我们所想要的操作。答案是有的,下面我带大家了解下unity对android的调用和一些问题的解答。

1.首先创建安卓项目

2.导入unity2d的class.jar

我使用的unity5.2.3,位置在于安装目录下的Unity\Editor\Data\PlaybackEngines\androidplayer\Variations\mono\Development\Classes\class.jar

3.Activity要继承UnityPlayerActivity

package com.sinyee.sdteam.clickshake;import android.app.Service;import android.os.Bundle;import android.os.Vibrator;import android.view.Menu;import com.unity3d.player.UnityPlayerActivity;public class MainActivity extends UnityPlayerActivity{private Vibrator mVibrator;  @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 震动  mVibrator = (Vibrator)getApplication().getSystemService(Service.VIBRATOR_SERVICE);  }@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}    //shake      public void Shake(long milliseconds)      {          mVibrator.vibrate(milliseconds);      }            public void StopShake()      {          mVibrator.cancel();      }  }

 4.导出jar包

5.直接finish生成jar包。

6.在unity上Assets\Plugins\Android中加入jar,xml,libs,res

7.unity上编写脚本代码

using UnityEngine;using System.Collections;public class testButton : MonoBehaviour {        private AndroidJavaObject activity;  // Use this for initializationvoid Start () {        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");        activity = jc.GetStatic("currentActivity");}// Update is called once per framevoid Update () {}    void OnGUI()  {         if ( GUI.Button(new Rect(Screen.width / 2 - 20, Screen.height / 2 + 20, 100, 40), "点击震动"))         {          // 注意要用1000L,因为android那边的参数是long,不然会出错          activity.Call("Shake", 1000L);         }              if ( GUI.Button(new Rect(Screen.width / 2 - 20, Screen.height / 2 + 80, 100, 40), "取消震动"))         {           activity.Call("StopShake");         }    }  }

 8.导出apk,配置注意如下

9.真机运行调试

 

更多相关文章

  1. Android(安卓)Stuido 导出 APK
  2. android 查看手机运行的进程列表
  3. android notification应用
  4. Tensorflow:Android调用Tensorflow Mobile版本API(2)-基于Android的
  5. Android(安卓)5.0 Binder编译问题及解决方案
  6. android 逆向工程-工具篇 jadx(九)
  7. Android登陆界面实现清除输入框内容和震动效果
  8. Android真机运行错误INSTALL_FAILED_MEDIA_UNAVAILABLE
  9. Android(安卓)Studio——Gradle 版本回退

随机推荐

  1. Android(安卓)BaseAdapter与ListView的使
  2. 【从头学android】第二个程序同一个Activ
  3. Android -- Wifi的save()操作
  4. android Vibrator震动效果
  5. Android UI列表的上拉下拉刷新之Android-
  6. Android利用Timer实现倒计时效果小demo
  7. Android开启adb root 和 Console Root
  8. Android InputStream转Bitmap
  9. Android跑Monkey必备代码
  10. Android TimePickerDialog(原生安卓时间选