Unity3D Android Java常用类

/**
 * AndroidJava常用类
 * */
public class AndroidJavaUtil {	


	public static string LauncherPkgName = "com.hdlz.HeyHaLauncher";


	public static AndroidJavaObject Activity 
	{
		get {
			AndroidJavaClass jcPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");	
			return jcPlayer.GetStatic<AndroidJavaObject>("currentActivity");
		}
	}


	public static AndroidJavaObject PackageManager
	{
		get {
			return Activity.Call<AndroidJavaObject>("getPackageManager");
		}
	}
	
	public static AndroidJavaObject Intent
	{
		get {
			return Activity.Call<AndroidJavaObject>("getIntent");
		}
	}


	private static string currentPkgName;
	public static string CurrentPkgName
	{
		get {
			if(currentPkgName == null)
				currentPkgName = Activity.Call<string>("getPackageName");
			return currentPkgName;
		}
	}


	public static void OpenPackage(string pkgName,string extraKey = null,string extraValue = null)
	{
		AndroidJavaObject joIntent = PackageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", pkgName);	
		if (null != joIntent)
		{
			HzEngine.HzUnInit();
			if(extraKey != null && extraValue != null)
			{
				AndroidJavaObject newIntent = joIntent.Call<AndroidJavaObject>("putExtra",extraKey,extraValue);
				Activity.Call("startActivity", newIntent);
			}
			else
			{
				Activity.Call("startActivity", joIntent);
			}
		}
		Application.Quit();
	}
	
	public static string GetExtra(string key)
	{
		return Intent.Call<string>("getStringExtra",key);
	}


	//这函数用不了,有问题
	public static void ToastShow(string text,int ms = 200)
	{
		try
		{
			AndroidJavaClass jcToast = new AndroidJavaClass("android.widget.Toast");
			AndroidJavaObject joContext = Activity.Call<AndroidJavaObject>("getApplicationContext");
			object [] args = {joContext,text,ms};
			//AndroidJavaClass jcLooper = new AndroidJavaClass("android.os.Looper");	
			//jcLooper.CallStatic("prepare");
			AndroidJavaObject joToast = jcToast.CallStatic<AndroidJavaObject>("makeText",args);
			joToast.Call("show");
			//jcLooper.CallStatic("loop");
		}
		catch(Exception e)  
		{  
			Log.E(e.Message);
		}	
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值