/// <summary>
/// 安卓平台Unity打开其他应用程序
/// </summary>
/// <param name="pkgName">pkgName="com.xxxx.另外一个应用包名"</param>
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"))
{
try
{
using (AndroidJavaObject joIntent = joPackageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", pkgName))
{
if (null != joIntent)
{
joActivity.Call("startActivity", joIntent);
}
}
}
catch(System.Exception ex)
{
Debug.Log(ex);
//跳转应用下载地址
Application.OpenURL("www.app.com");
}
}
}
}
}
实现在打开另一个应用程序的同时,需要关闭当前程序的方法:
在当前程序使用Application.Quit()退出,同时在下面方法中调用切换程序的方法即可。
void OnApplicationQuit()
{
// Debug.Log("OnApplicationQuit");
openPackage("com.***.***");
}