private void Start()
{
if (Application.platform == RuntimePlatform.Android)
{
OpenPackage("填写您要打开应用的包名!");
}
}
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打开其他安卓应用
猜你喜欢
转载自blog.csdn.net/a451319296/article/details/109322422
今日推荐
周排行