Android部分:
1:安装Java环境和Eclipse。(只要你的unity能够发布apk文件,那我相信你的环境也已经配置好了)。
2:创建Android工程:
(1)
(2)填写项目名称
(3)选择上Mark this project as alibrary
(4)Next、Next一直到最后Finish,全部按默认值。
(5)添加Class.jar,这是unity 提供的编译Android游戏所需要的jar包,它位于%unity_home%\Editor\Data\PlaybackEngines\androidplayer
\bin\classes.jar
(6)开始写java代码:
注意:把public class MainActivity extends Activity 改为public class MainActivity extends UnityPlayerActivity,并把OnCreate函数中的
setContentView(R.layout.activity_main);注销否则运行后会出现Android中的"Hello World"字符串。把OnCreateOptionsMenu(Menu menu)
package com.example.androidplugins;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
//震动的包
import android.os.Vibrator;
import android.app.Service;
//发送短信库
import android.telephony.SmsManager;
import com.unity3d.player.UnityPlayerActivity;
public class MainActivity extends UnityPlayerActivity {
private Vibrator mVibrator01;//声明一个振动器对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
}
//我这里所需要的参数是对方的手机号码和要发送短信息的内容,
//在unity中调用该方法时传入这两个参数
public static void SMSSend(String number, String content){
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(number, null, content, null, null);
}
//震动函数
public void ClickShake() {
mVibrator01 = (Vibrator)super.getApplication().getSystemService(Service.VIBRATOR_SERVICE);
mVibrator01.vibrate(new long[]{100,10,100,1000},-1);//自定义整栋模式,只震动一次
}
}
(7)添加权限:短信发送权限:android.permission.SEND_SMS 手机震动权限:android.permission.VIBRATE。
(8)导出Jar包
此时在你所选择的目录中生成了一个*.jar文件
Unity部分:
创建插件目录,注意单词不要拼错。
把Eclipse工程目录中的:libs 、res目录和AndroidManifest.xml拷贝到unity的指定目录下,打包的*.jar包放在Android/bin目录下。
现在开始写Unity代码:
using UnityEngine;
using System.Collections;
public class Script : MonoBehaviour {
private string txtNumber = "";
private string txtMessage = "";
private AndroidJavaObject ajc;
void Start ()
{
AndroidJavaClass jc=new AndroidJavaClass("com.unity3d.player.UnityPlayer");
ajc = jc.GetStatic<AndroidJavaObject>("currentActivity");
}
void OnGUI()
{
GUI.Label(new Rect(40, 40, 100, 50), "PhoneNumber");
txtNumber = GUI.TextField (new Rect (140, 40, 160, 30), txtNumber);
GUI.Label(new Rect(40, 80, 100, 50), "SendMessage");
txtMessage = GUI.TextArea (new Rect (140, 80, 200, 160), txtMessage);
if(GUI.Button(new Rect(240, 250, 100, 40), "Send"))
{
if(txtNumber==""&&txtMessage=="")
return;
SendMsg(txtNumber, txtMessage);
}
}
void SendMsg(string number, string msg)
{
ajc.CallStatic("SMSSend", new string[]{number, msg});
ajc.Call("ClickShake");
txtMessage = "";
}
}
发布到真机上调试:第一次发送时提示是否允许该应用发送短信,发送短信的同时手机震动。
使用Unity Icon图标:
<application
android:allowBackup="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
下载资源:http://download.csdn.net/detail/he_wen_jian/8471209