diff --git a/Assets/Scripts/installapk.cs b/Assets/Scripts/installapk.cs index 11752ef..8b13789 100644 --- a/Assets/Scripts/installapk.cs +++ b/Assets/Scripts/installapk.cs @@ -1,60 +1 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; -using UnityEngine; -using UnityEngine.Networking; -using UnityEngine.SceneManagement; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -private bool installApp(string apkPath) -{ - bool success = true; - //GameObject.Find("TextDebug").GetComponent().text = "Installing App"; - - try - { - //Get Activity then Context - AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); - AndroidJavaObject currentActivity = unityPlayer.GetStatic("currentActivity"); - AndroidJavaObject unityContext = currentActivity.Call("getApplicationContext"); - - //Get the package Name - string packageName = unityContext.Call("getPackageName"); - string authority = packageName + ".fileprovider"; - - AndroidJavaClass intentObj = new AndroidJavaClass("android.content.Intent"); - string ACTION_VIEW = intentObj.GetStatic("ACTION_VIEW"); - AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent", ACTION_VIEW); - - - int FLAG_ACTIVITY_NEW_TASK = intentObj.GetStatic("FLAG_ACTIVITY_NEW_TASK"); - int FLAG_GRANT_READ_URI_PERMISSION = intentObj.GetStatic("FLAG_GRANT_READ_URI_PERMISSION"); - - //File fileObj = new File(String pathname); - AndroidJavaObject fileObj = new AndroidJavaObject("java.io.File", apkPath); - //FileProvider object that will be used to call it static function - AndroidJavaClass fileProvider = new AndroidJavaClass("android.support.v4.content.FileProvider"); - //getUriForFile(Context context, String authority, File file) - AndroidJavaObject uri = fileProvider.CallStatic("getUriForFile", unityContext, authority, fileObj); - - intent.Call("setDataAndType", uri, "application/vnd.android.package-archive"); - intent.Call("addFlags", FLAG_ACTIVITY_NEW_TASK); - intent.Call("addFlags", FLAG_GRANT_READ_URI_PERMISSION); - currentActivity.Call("startActivity", intent); - - //GameObject.Find("TextDebug").GetComponent().text = "Success"; - } - catch (System.Exception e) - { - //GameObject.Find("TextDebug").GetComponent().text = "Error: " + e.Message; - success = false; - } - - return success; -}