/// <summary>
/// 打开app
/// </summary>
/// <param name="pkgName">包名(com.DefaultCompany.ShaderStudy)</param>
private void OpenPackage(string pkgName)
{
using (AndroidJavaClass jcPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using (AndroidJavaObject joActivity = jcPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
{
using (AndroidJavaObject joPackageManager = joActivity.Call<AndroidJavaObject>("getPackageManager"))
{
using (AndroidJavaObject joIntent = joPackageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", pkgName))
{
if (null != joIntent)
{
AndroidJavaObject joNIntent = joIntent.Call<AndroidJavaObject>("addFlags", joIntent.GetStatic<int>("FLAG_ACTIVITY_REORDER_TO_FRONT"));
joActivity.Call("startActivity", joNIntent);
joIntent.Dispose();
}
else
{
string msg = "Package <" + pkgName + "> not exsits on device.";
Debug.Log(msg);
using (AndroidJavaClass jT = new AndroidJavaClass("android.widget.Toast"))
{
using (AndroidJavaObject jMsg = new AndroidJavaObject("java.lang.String", msg))
{
using (AndroidJavaObject jC = joActivity.Call<AndroidJavaObject>("getApplicationContext"))
{
int length = jT.GetStatic<int>("LENGTH_SHORT");
using (AndroidJavaObject toast = jT.CallStatic<AndroidJavaObject>("makeText", jC, jMsg, length))
{
toast.Call("show");
}
}
}
}
}
}
}
}
}
}
Unity打开安卓应用
最新推荐文章于 2024-03-28 22:23:30 发布