Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Unity讀取Android通訊錄。

Unity讀取Android通訊錄。

編輯:關於Android編程

寫這篇的目的是想把自己的學習成果記錄下來,以便以後查看。

首先得知道在Android上怎樣獲取手機的通訊錄,這個相信對於會做Android開發的人來說都不難。這個就不詳細說了。我的Android項目裡是GetPhoneNumberActivity.class這個類來獲取到手機上的通訊錄,並顯示出來的。

1.首先要知道的是在Unity的安裝目錄下:Unity\Editor\Data\PlaybackEngines\androidplayer\bin,有一個classes.jar的Jar包,這個是Unity提供的接口文件,需要把它引入到Android項目裡,這個下面就會用到。

2.新建一個class文件,我命名為OpenActivity.class。內容如下:

import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;

import com.unity3d.player.UnityPlayerActivity;//需要引入Unity的接口文件

@TargetApi(Build.VERSION_CODES.GINGERBREAD)
public class OpenActivity extends UnityPlayerActivity
{

	Context	context;

	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		context = this;
		//OpenContacts();
	}

	public void OpenContacts()
	{
		Intent intent = new Intent(context, GetPhoneNumberActivity.class);//啟動讀取通訊錄的入口Activity
		this.startActivity(intent);

	}

}
3.這個時候就要把Android項目裡的AndroidManifest.xml做一些修改:最重要的修改就是把主入口Activity設置為OpenActivity:

        
            
                

                
            
        
當然不要忘了把原來的那個Activity也要聲明一下:

4.然後要運行一下項目,當然這個時候運行的項目肯定是會閃退的,不過沒關系,已經把項目編譯完就可以了。

5.接下來要做的是:在Eclipse裡點擊File-》Export-》Java-》JAR file-》然後選擇當前的項目,把導出的cntacts.Jar文件保存起來,接下來會用到。

6.下一步就是到Unity裡的操作了:建立一個Unity項目,在Assets下新建目錄:Plugins/Android。然後把剛才生成的cntacts.Jar拖放到這個目錄下,並且把Android項目裡的libs 、res 、以及AndroidManifest.xml文件也拖進去。

7.然後新建一個C#腳本,來讀取Android的項目信息:

using UnityEngine;
using System.Collections;

public class OpenAndroidTest : MonoBehaviour {

	//先得到AndroidJavaClass,然後得到AndroidjavaObject就是當前Activity的對象,
	//也就是我們在上面創建的主UnityTestActivity.JAVA。
	//拿到它的對象後調用jo.Call()參數1表示調用UnityTestActivity.JAVA類中的方法名稱,
    //參數2表示該方法傳遞過去的參數。
	// Use this for initialization
	void Start () 
	{
		AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");			
		AndroidJavaObject jo = jc.GetStatic("currentActivity");
		jo.Call("OpenContacts");		
	}	
	// Update is called once per frame
	void Update () 
	{
	
	}
}
對於使用的方法,上面都有解說了,然後把這個腳本拖放到攝像機,就可以運行的了。注意:要把拖放進來的libs文件class.jar文件刪除,因為Unity自身就帶有個Jar包,如果還存在一個,會報包沖突錯誤。

8.最後連接手機,設置Player Setting運行就可以讀取到手機上的通訊錄了。



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