unity3d android 获取是否安装app
废话不多直接上代码
public static bool IsInstallApp(string packageAndroidName)
{
#if (UNITY_ANDROID && !UNITY_EDITOR) || ANDROID_CODE_VIEW
try
{
using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
using (AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity"))
{
using (AndroidJavaObject packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"))
{
try
{
using (AndroidJavaObject launchIntent = packageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", packageAndroidName))
{
if (launchIntent == null)
{
return false;
}
else
{
return true;
}
}
}
catch (System.Exception)
{
}
}
}
}
}
catch (System.Exception e)
{
}
return false;
#endif
return false;
}
注意:获取一次之后可以存储下来,防止重复访问

本文提供了一个Unity3D中用于检测Android设备上特定应用程序是否已安装的方法。通过调用Android系统的包管理器,该方法能够准确判断指定包名的应用是否存在,适用于游戏内动态加载或跳转至其他应用的需求。
3758

被折叠的 条评论
为什么被折叠?



