Unity 跳轉到應用商店評價app,跳轉到Facebook某個介面,判斷手機是否安裝某個APP
阿新 • • 發佈:2018-12-09
private void OnGUI() { if (GUI.Button(new Rect(500, 500, 300, 150), "谷歌商店")) { openAPPinMarket(Application.identifier); } if (GUI.Button(new Rect(500, 900, 300, 150), "Facebook")) { OpenFacebook(); } } /// <summary> /// 跳轉到應用商店 /// </summary> private void openAPPinMarket(string appid) { #if UNITY_ANDROID //init AndroidJavaClass AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); ; AndroidJavaClass Intent = new AndroidJavaClass("android.content.Intent"); AndroidJavaClass Uri = new AndroidJavaClass("android.net.Uri"); // get currentActivity AndroidJavaObject currentActivity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity"); AndroidJavaObject jstr_content = new AndroidJavaObject("java.lang.String", "market://details?id=" + appid); AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent", Intent.GetStatic<AndroidJavaObject>("ACTION_VIEW"), Uri.CallStatic<AndroidJavaObject>("parse", jstr_content)); currentActivity.Call("startActivity", intent); #endif } /// <summary> /// 跳轉到facebook /// </summary> private void OpenFacebook() { if (JudgeHaveApp("com.facebook.katana")) Application.OpenURL("fb://page/331347397603096/"); else Application.OpenURL("https://www.facebook.com/deliciousio"); } /// <summary> /// 判斷手機是否有改app /// </summary> private bool JudgeHaveApp(string pageName) { AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject ca = up.GetStatic<AndroidJavaObject>("currentActivity"); AndroidJavaObject packageManager = ca.Call<AndroidJavaObject>("getPackageManager"); AndroidJavaObject appList = packageManager.Call<AndroidJavaObject>("getInstalledPackages", 0); int num = appList.Call<int>("size"); for (int i = 0; i < num; i++) { AndroidJavaObject appInfo = appList.Call<AndroidJavaObject>("get", i); string packageNew = appInfo.Get<string>("packageName"); if (packageNew.CompareTo(pageName) == 0) { return true; } } return false; }
跳轉應用商店那個會讓使用者選擇使用哪個應用商店
判斷是否有該app的包名從谷歌商店搜尋該應用
id= 後面這些就是包名