Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> unity與Android的交互

unity與Android的交互

編輯:關於Android編程

嵌入sdk是比較常見的吧,如接入廣告啊,新浪的分享...... 這些都需要接入sdk的,現在我們從最基本的做吧,其實這些和什麼引擎都是沒多大關系的,不管是unity,還是cosos2d......說白了,這些就是和移動平台有關系,ios,android,wp8啊。

我這篇文章實現Unity打電話一個簡單的案例!下面開始吧:

1、打開你電腦中的eclipse軟件

 

\

 

2、新建一個Android項目,我畫紅圈的地方請注意,包名要記好之後要用,最小版本選4.0.以上,之後一路next新建項目直到finish。

 

\

 

3、之後在你的電腦中找到一個叫做classes.jar的文件,我的unity是unity5.2,對應的路徑是D:\unity\Editor\Data\PlaybackEngines\androidplayer\Variations\mono\Release\Classes。其中unity自從升級後,classes.jar從原來的一個變成了多個,例如我的電腦裡D:\unity\Editor\Data\PlaybackEngines\androidplayer\Variations\il2cpp\Release\Classes裡面也有一個,這就要看你做什麼了,是mono就用上面那個路徑的,是il2cpp就用下面那個路徑的,具體這兩個有什麼區別,請自行百度。

 

\

 

4、將classes.jar直接拖拽至bin當中。

 

\

 

5、右鍵添加至構造路徑。

 

\

 

6、進行代碼編寫首先打開AndroidManifest.xml,因為要打電話,所以添加撥號權限。()

7、進行代碼編寫MainActivity。

package com.hjc.call;

import com.unity3d.player.UnityPlayerActivity;

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

public class MainActivity extends UnityPlayerActivity {

Activity activity = null;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

}

public void call(String str) {

Intent tt = new Intent();

tt.setAction(Intent.ACTION_CALL);

tt.setData(Uri.parse("tel:"+ str));

startActivity(tt);

}

}

8、之後導出jar包,右鍵工程->Export->Jar file。

 

\

 

 

\

 

9、unity建立如下圖文件結構(照做哦)。

 

\

 

10、將eclipse導出的jar包拖入unity裡面新建的bin文件夾裡。

 

\

 

11、將eclipse工程中的AndroidManifest.xml也拖進unity的Android文件夾中。

 

\

 

12、其實eclipse工程裡面的res文件也是要拖到unity裡面Android文件夾下的,只是我做的這個暫時用不到res裡面的資源,所以用unity修改一下AndroidManifest.xml的內容,如下:android:theme="@android:style/Theme.NoTitleBar"

android:icon="@drawable/app_icon"

android:label="@string/app_name",這樣就不需要res了。

13、unity裡面新建一個腳本,來調用java類。

using UnityEngine;

using UnityEngine.UI;

using System.Collections;

public class test : MonoBehaviour {

public InputField shuru;

public void callPrint() {

AndroidJavaClass jc = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");

AndroidJavaObject jo = jc.GetStatic ("currentActivity");

jo.Call ("call", shuru.text);

}

}

14、配置號碼填寫框和一個button,並配置其關系,這一步明白unity的實現很簡單。

 

\

 

 

\

 

15、導出apk,切記導出時的包名必須和eclipse工程的包名一致!!

 

\

 

16、在真機上安裝apk。

 

\

 

(我的組件做的很隨意,顯得太小了)

 

\

 

如果有錯,歡迎糾正。


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved