public void ShareAndroid() { Debug.Log("ShareAndroid"); #if UNITY_ANDROID && !UNITY_EDITOR using (AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent")) using (AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent")) { Debug.Log("ShareAndroid 1"); intentObject.Call <AndroidJavaObject>("setAction", intentObject.GetStatic <string>("ACTION_SEND")); intentObject.Call <AndroidJavaObject>("setType", "text/plain"); intentObject.Call <AndroidJavaObject>("putExtra", intentObject.GetStatic <string>("EXTRA_SUBJECT"), subject); intentObject.Call <AndroidJavaObject>("putExtra", intentObject.GetStatic <string>("EXTRA_TITLE"), title); intentObject.Call <AndroidJavaObject>("putExtra", intentObject.GetStatic <string>("EXTRA_TEXT"), body); Debug.Log("ShareAndroid 2"); using (AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { using (AndroidJavaObject currentActivity = unity.GetStatic <AndroidJavaObject>("currentActivity")) { using (AndroidJavaObject jChooser = intentClass.CallStatic <AndroidJavaObject>("createChooser", intentObject, "Share Via")) { Debug.Log("ShareAndroid 3"); currentActivity.Call("startActivity", jChooser); } } } } #endif Debug.Log("ShareAndroid 4"); }
public void StartGeoFence() { try { jcu = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); jou = jcu.GetStatic <AndroidJavaObject>("currentActivity"); mGeoFenceClient = new AndroidJavaObject("com.amap.api.fence.GeoFenceClient", jou); centerPoint = new AndroidJavaObject("com.amap.api.location.DPoint"); geofence = new AndroidJavaObject("com.amap.api.fence.GeoFence"); Intent = new AndroidJavaClass("android.content.Intent"); Bundle = new AndroidJavaClass("android.os.Bundle"); ConnectivityManager = new AndroidJavaClass("android.net.ConnectivityManager"); geofenceLis = new GFListener(); geofenceLis.GeoFenceCreateFinished += onGeoFenceCreateFinished; mGeoFenceClient.Call("setGeoFenceListener", geofenceLis); mGeoFenceClient.Call("setActivateAction", mGeoFenceClient.GetStatic <int>("GEOFENCE_IN") | mGeoFenceClient.GetStatic <int>("GEOFENCE_OUT") | mGeoFenceClient.GetStatic <int>("GEOFENCE_STAYED")); centerPoint.Call("setLatitude", 25.962D); centerPoint.Call("setLongitude", 115.405D); mGeoFenceClient.Call("addGeoFence", "丽景家园", "住宅", centerPoint, 1000F, 10, "打卡"); mGeoFenceClient.Call <AndroidJavaObject>("createPendingIntent", GEOFENCE_BROADCAST_ACTION); BroadcastReceiver = new AndroidJavaObject("com.unity3d.player.UABroadcastReceiver"); filter = new AndroidJavaObject("android.content.IntentFilter", ConnectivityManager.GetStatic <string>("CONNECTIVITY_ACTION")); filter.Call("addAction", GEOFENCE_BROADCAST_ACTION); jou.Call <AndroidJavaObject>("registerReceiver", BroadcastReceiver, filter); unlockBroadcast = new UnityBroadcastProxy(); BroadcastReceiver.CallStatic("setReceiver", unlockBroadcast); } catch (Exception ex) { tvReult.text = ex.Message; } }
//打开Android中指定的Activity public static string androidToActivity(string actionKey, string url) { string errMessage = ""; string globalName; AndroidJavaObject Uriobj; using (AndroidJavaObject jc1 = new AndroidJavaObject("android.content.Intent")) { globalName = jc1.GetStatic <string>(actionKey); } using (AndroidJavaObject jc2 = new AndroidJavaObject("android.net.Uri")) { Uriobj = jc2.CallStatic <AndroidJavaObject>("parse", url); } try { using (AndroidJavaObject jc3 = new AndroidJavaObject("android.content.Intent", globalName, Uriobj)) { using (AndroidJavaClass jc4 = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { AndroidJavaObject currentActivity = jc4.GetStatic <AndroidJavaObject>("currentActivity"); currentActivity.Call("startActivity", jc3); } } } catch (System.Exception e) { errMessage = e.Message; } return(errMessage); }
//获取本地app列表 public static List <string> GetAllApk() { List <string> apks = new List <string>(); #if UNITY_ANDROID try { AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject currentActivity = up.GetStatic <AndroidJavaObject>("currentActivity"); AndroidJavaObject packageManager = currentActivity.Call <AndroidJavaObject>("getPackageManager"); AndroidJavaObject packageInfos = packageManager.Call <AndroidJavaObject>("getInstalledPackages", 0); AndroidJavaObject[] packages = packageInfos.Call <AndroidJavaObject[]>("toArray"); for (int i = 0; i < packages.Length; i++) { AndroidJavaObject applicationInfo = packages[i].Get <AndroidJavaObject>("applicationInfo"); if ((applicationInfo.Get <int>("flags") & applicationInfo.GetStatic <int>("FLAG_SYSTEM")) == 0)// 判断是不是系统应用 { string packageName = applicationInfo.Get <string>("packageName"); AndroidJavaObject applicationLabel = packageManager.Call <AndroidJavaObject>("getApplicationLabel", applicationInfo); string packageLable = applicationLabel.Call <string>("toString"); apks.Add(packageLable + "|" + packageName); } } } catch (System.Exception e) { Debug.LogWarning(e); } #endif return(apks); }
AndroidJavaObject GetTelephonyManager() { AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject activity = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity"); if (activity == null) { Debug.Log("Can't find an activity!"); return(null); } AndroidJavaObject context = activity.Call <AndroidJavaObject>("getApplicationContext"); if (context == null) { Debug.Log("Can't find an app context!"); return(null); } // Context.TELEPHONY_SERVICE: string CONTEXT_TELEPHONY_SERVICE = context.GetStatic <String>("TELEPHONY_SERVICE"); AndroidJavaObject telManager = context.Call <AndroidJavaObject>("getSystemService", CONTEXT_TELEPHONY_SERVICE); return(telManager); }
public static void Initialize() { unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); currentActivity = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity"); vibrator = currentActivity.Call <AndroidJavaObject>("getSystemService", "vibrator"); }
/// <summary> /// Verify the signature is correct /// </summary> /// <returns></returns> public static bool IsCorrect() { #if UNITY_EDITOR return(true); #endif // 获取Android的PackageManager AndroidJavaClass Player = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject Activity = Player.GetStatic <AndroidJavaObject>("currentActivity"); AndroidJavaObject PackageManager = Activity.Call <AndroidJavaObject>("getPackageManager"); // 获取当前Android应用的包名 string packageName = Activity.Call <string>("getPackageName"); // 调用PackageManager的getPackageInfo方法来获取签名信息数组 int GET_SIGNATURES = PackageManager.GetStatic <int>("GET_SIGNATURES"); AndroidJavaObject PackageInfo = PackageManager.Call <AndroidJavaObject>("getPackageInfo", packageName, GET_SIGNATURES); AndroidJavaObject[] Signatures = PackageInfo.Get <AndroidJavaObject[]>("signatures"); // 获取当前的签名的哈希值,判断其与我们签名的哈希值是否一致 if (Signatures != null && Signatures.Length > 0) { int hashCode = Signatures[0].Call <int>("hashCode"); return(hashCode == 8888888888);//我们签名的哈希值 } return(false); }
/// <summary> /// 获取安卓包的签名信息 /// </summary> /// <returns></returns> public String GetSignatureMd5() { try { // 获取Android的PackageManager AndroidJavaClass Player = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject Activity = Player.GetStatic <AndroidJavaObject>("currentActivity"); AndroidJavaObject PackageManager = Activity.Call <AndroidJavaObject>("getPackageManager"); // 获取当前Android应用的包名 string packageName = Activity.Call <string>("getPackageName"); // 调用PackageManager的getPackageInfo方法来获取签名信息数组 int GET_SIGNATURES = PackageManager.GetStatic <int>("GET_SIGNATURES"); AndroidJavaObject PackageInfo = PackageManager.Call <AndroidJavaObject>("getPackageInfo", packageName, GET_SIGNATURES); AndroidJavaObject[] Signatures = PackageInfo.Get <AndroidJavaObject[]>("signatures"); // 获取当前的签名的哈希值,判断其与我们签名的哈希值是否一致 if (Signatures != null && Signatures.Length > 0) { string ret = Signatures[0].Call <string>("toCharsString"); ret = MD5Util.GetMD5(ret); return(ret); } } catch (Exception e) { Debug.LogException(e); } return(null); }
private void Vibrate(long milliseconds) { if (!GameSettings.instance.vibrationEnabled) { return; } #if UNITY_ANDROID && !UNITY_EDITOR if (!initVibrator) { vibrator = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject activity = vibrator.GetStatic <AndroidJavaObject>("currentActivity"); vibrator = activity.Call <AndroidJavaObject>("getSystemService", "vibrator"); vibratorUseAmplitude = (apiLevel >= 26 && vibrator.Call <bool>("hasAmplitudeControl")); // API level 26+. initVibrator = true; if (vibratorUseAmplitude) { vibrationEffect = new AndroidJavaClass("android.os.VibrationEffect"); } } if (vibratorUseAmplitude) { int amplitude = vibrationEffect.GetStatic <int>("DEFAULT_AMPLITUDE"); AndroidJavaObject effect = vibrationEffect.CallStatic <AndroidJavaObject>("createOneShot", milliseconds, amplitude); vibrator.Call("vibrate", effect); } else { vibrator.Call("vibrate", milliseconds); } #endif }
public void onMessage(string message, int requestCode) { if (requestCode == SIGNIN_CODE) { using (AndroidJavaObject sdkManager = new AndroidJavaObject(SDK_MANAGER)) { using (AndroidJavaObject obj = sdkManager.GetStatic <AndroidJavaObject>("userModel")) { SDKManager.vtcUser = new VTCUser(); SDKManager.vtcUser.accessToken = obj.Call <string>("getAccessToken"); SDKManager.vtcUser.billingAccessToken = obj.Call <string>("getBillingAccessToken"); SDKManager.vtcUser.accountName = obj.Call <string>("getAccountName"); SDKManager.vtcUser.accountId = obj.Call <string>("getAccountId"); SDKManager.vtcUser.vcoinBalance = obj.Call <int>("getVcoinBalance"); SDKManager.vtcUser.email = obj.Call <string>("getEmail"); } } } if (requestCode == OPENSHOP_CODE) { } if (SDKManager.m_iOnActivityResult != null) { SDKManager.m_iOnActivityResult.onMessage(message, requestCode); } }
/// <summary> /// 是否包体签名验证通过(PS:建议后续这个类名改成其他有意义的单词或者乱七八糟的词汇) /// </summary> /// <returns></returns> public bool IsCorrect() { #if UNITY_ANDROID // 获取Android的PackageManager AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject Activity = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity"); AndroidJavaObject PackageManager = Activity.Call <AndroidJavaObject>("getPackageManager"); // 获取当前Android应用的包名 packageName = Activity.Call <string>("getPackageName"); // 调用getPackageInfo方法来获取签名信息数组 int GET_SIGNATURES = PackageManager.GetStatic <int>("GET_SIGNATURES"); AndroidJavaObject PackageInfo = PackageManager.Call <AndroidJavaObject>("getPackageInfo", packageName, GET_SIGNATURES); AndroidJavaObject[] Signatures = PackageInfo.Get <AndroidJavaObject[]>("signatures"); // 获取当前的签名的哈希值,判断其与我们签名的哈希值是否一致 if (Signatures != null && Signatures.Length > 0) { curSignHash = Signatures[0].Call <int>("hashCode"); return(curSignHash == MY_SIGN_HASH); } else { return(false); } #else return(true); #endif }
private IEnumerator CaptureScreenshotProcess() { Debug.Log("CaptureScreenshotProcess"); yield return(new WaitForEndOfFrame()); string path = null; #if UNITY_EDITOR path = fileName; #elif UNITY_ANDROID path = Application.persistentDataPath + "/" + fileName; #endif Debug.Log("BeginCaptureScreenshot:" + path); ScreenCapture.CaptureScreenshot(fileName); Debug.Log("AfterCaptureScreenshot:" + path); var mediaActionSound = new AndroidJavaObject("android.media.MediaActionSound"); mediaActionSound.Call("play", mediaActionSound.GetStatic <int>("SHUTTER_CLICK")); while (File.Exists(path) == false) { Debug.Log("NoFile:" + path); yield return(new WaitForEndOfFrame()); } Debug.Log("CaptureOK:" + path); scanFile(path, null);//"image/png"; }
static public bool IsInstalled(string inPackageName) { #if UNITY_ANDROID && !UNITY_EDITOR AndroidJavaObject activity = GetCurrentActivity(); using (AndroidJavaObject packageMgr = activity.Call <AndroidJavaObject>("getPackageManager")) { try { AndroidJavaObject packageInfo = packageMgr.Call <AndroidJavaObject>("getPackageInfo", inPackageName, packageMgr.GetStatic <int>("GET_SERVICES") | packageMgr.GetStatic <int>("GET_ACTIVITIES")); if (packageInfo == null) { return(false); } Ref.Dispose(ref packageInfo); return(true); } catch (Exception e) { Logger.Log("Unable to get package: {0}", e.Message); return(false); } } #else return(false); #endif }
public static string GetAndroidDeviceID() { AndroidJavaObject jo = new AndroidJavaObject("android.os.Build"); string serial = jo.GetStatic <string>("SERIAL"); return(serial); }
// NSTORE 인스턴스가 없으면 GET public static AndroidJavaObject getNStoreInstance() { if (NStoreBridgeInstance == null) { NStoreBridgeInstance = AndroidPlugin.GetStatic <AndroidJavaObject> ("mNStoreBridgeInstance"); } return(NStoreBridgeInstance); }
public static void ShareAndroid(string body, string subject, string url, string[] filePaths, string mimeType, bool chooser, string chooserText) { using (AndroidJavaClass unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (AndroidJavaObject currentActivity = unityPlayerClass.GetStatic <AndroidJavaObject>("currentActivity")) using (AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent")) using (AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent")) { using (intentObject.Call <AndroidJavaObject>("setAction", intentClass.GetStatic <string>("ACTION_SEND"))) { } using (intentObject.Call <AndroidJavaObject>("setType", mimeType)) { } using (intentObject.Call <AndroidJavaObject>("putExtra", intentClass.GetStatic <string>("EXTRA_SUBJECT"), subject)) { } using (intentObject.Call <AndroidJavaObject>("putExtra", intentClass.GetStatic <string>("EXTRA_TEXT"), body)) { } if (!string.IsNullOrEmpty(url)) { // attach url using (AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri")) using (AndroidJavaObject uriObject = uriClass.CallStatic <AndroidJavaObject>("parse", url)) using (intentObject.Call <AndroidJavaObject>("putExtra", intentClass.GetStatic <string>("EXTRA_STREAM"), uriObject)) { } } else if (filePaths != null) { // attach extra files (pictures, pdf, etc.) using (AndroidJavaClass fileProviderClass = new AndroidJavaClass("android.support.v4.content.FileProvider")) using (AndroidJavaObject unityContext = currentActivity.Call <AndroidJavaObject>("getApplicationContext")) using (AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri")) using (AndroidJavaObject uris = new AndroidJavaObject("java.util.ArrayList")) { string packageName = unityContext.Call <string>("getPackageName"); string authority = packageName + ".provider"; AndroidJavaObject fileObj = new AndroidJavaObject("java.io.File", filePaths[0]); AndroidJavaObject uriObj = fileProviderClass.CallStatic <AndroidJavaObject>("getUriForFile", unityContext, authority, fileObj); int FLAG_GRANT_READ_URI_PERMISSION = intentObject.GetStatic <int>("FLAG_GRANT_READ_URI_PERMISSION"); intentObject.Call <AndroidJavaObject>("addFlags", FLAG_GRANT_READ_URI_PERMISSION); using (intentObject.Call <AndroidJavaObject>("putExtra", intentClass.GetStatic <string>("EXTRA_STREAM"), uriObj)) { } } } // finally start application if (chooser) { AndroidJavaObject jChooser = intentClass.CallStatic <AndroidJavaObject>("createChooser", intentObject, chooserText); currentActivity.Call("startActivity", jChooser); } else { currentActivity.Call("startActivity", intentObject); } } }
/// <summary> /// 检查系统是否授权 /// </summary> /// <param name="name">授权类型</param> /// <returns>是否授权</returns> public static bool CheckPermission (string name) { using (AndroidJavaObject _PackageManager = GetActivity ().Call<AndroidJavaObject> ("getPackageManager")) { string _name = _GetActivity ().Call<string> ("getPackageName"); int _ret = _PackageManager.Call<int> ("checkPermission", "android.permission.READ_PHONE_STATE", _name); return _ret == _PackageManager.GetStatic<int> ("PERMISSION_GRANTED"); } }
public void ClickShare() { GameObject.Find("FXManager").GetComponent <FXManager>().SoundManager_F("Touch"); //Debug.Log("Share"); #if UNITY_ANDROID && !UNITY_EDITOR using (AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent")) using (AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent")) { intentObject.Call <AndroidJavaObject>("setAction", intentObject.GetStatic <string>("ACTION_SEND")); intentObject.Call <AndroidJavaObject>("setType", "text/plain"); intentObject.Call <AndroidJavaObject>("putExtra", intentObject.GetStatic <string>("EXTRA_SUBJECT"), subject); intentObject.Call <AndroidJavaObject>("putExtra", intentObject.GetStatic <string>("EXTRA_TEXT"), body); using (AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) using (AndroidJavaObject currentActivity = unity.GetStatic <AndroidJavaObject>("currentActivity")) using (AndroidJavaObject jChooser = intentClass.CallStatic <AndroidJavaObject>("createChooser", intentObject, "Share Via")) currentActivity.Call("startActivity", jChooser); } #endif }
// This method is android spesific atm public void ShareIt() { if (Application.platform == RuntimePlatform.Android) { // This method uses new standard FileProvider // it is required when targeting android api >23 AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent"); intentObject.Call <AndroidJavaObject>("setAction", intentObject.GetStatic <string>("ACTION_SEND")); AndroidJavaObject fileObj = new AndroidJavaObject("java.io.File", files[whichScreenShotIsShown]); AndroidJavaObject uriObject = fileProvider.CallStatic <AndroidJavaObject>("getUriForFile", unityContext, authority, fileObj); intentObject.Call <AndroidJavaObject>("putExtra", intentObject.GetStatic <string>("EXTRA_STREAM"), uriObject); intentObject.Call <AndroidJavaObject>("setType", "image/png"); intentObject.Call <AndroidJavaObject>("addFlags", FLAG_GRANT_READ_URI_PERMISSION); currentActivity.Call("startActivity", intentObject); } }
public static byte[] GetAppIcon(string packageName) { if (Application.platform != RuntimePlatform.Android) { return(null); } sbyte[] decodedBytes = null; AndroidJavaObject pm = currentActivity.Call <AndroidJavaObject>("getPackageManager"); if (pm == null) { Debug.LogError("PM is null"); } int flag = pm.GetStatic <int>("GET_META_DATA"); AndroidJavaObject packages = pm.Call <AndroidJavaObject>("getInstalledPackages", flag); int size = packages.Call <int>("size"); for (int i = 0; i < size; i++) { AndroidJavaObject info = packages.Call <AndroidJavaObject>("get", i); if (info != null) { try { string getPackage = info.Get <string>("packageName"); if (string.IsNullOrEmpty(getPackage)) { Debug.LogError("Package: Is Null"); } if (getPackage == packageName) { AndroidJavaObject appInfo = info.Get <AndroidJavaObject>("applicationInfo"); if (appInfo == null) { Debug.LogError("AppInfo is Null"); } decodedBytes = MyNativeClass.CallStatic <sbyte[]>("getIcon", currentActivity, pm, appInfo); } } catch (Exception e) { Debug.LogError("Icon: " + e.ToString()); } } } return((byte[])(Array)decodedBytes); }
public static bool InstructionsResult() { #if UNITY_ANDROID AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic <AndroidJavaObject>("currentActivity"); return(jo.GetStatic <bool>("returnResult")); #else return(false); #endif }
/// <summary> /// Sets the volume. /// </summary> /// <param name="volume">Volume.</param> public void SetVolume(float volume) { AndroidJavaObject audioManager = GetAndroidAudioManager(); int STREAM_MUSIC = audioManager.GetStatic <int>("STREAM_MUSIC"); int maxVolume = audioManager.Call <int>("getStreamMaxVolume", STREAM_MUSIC); int normalizedVolume = (int)((float)maxVolume * volume); audioManager.Call("setStreamVolume", STREAM_MUSIC, normalizedVolume, 0); }
/// <summary> /// Gets the volume. /// </summary> /// <returns>The volume.</returns> public float GetVolume() { AndroidJavaObject audioManager = GetAndroidAudioManager(); int STREAM_MUSIC = audioManager.GetStatic <int>("STREAM_MUSIC"); int maxVolume = audioManager.Call <int>("getStreamMaxVolume", STREAM_MUSIC); int currentVolume = audioManager.Call <int>("getStreamVolume", STREAM_MUSIC); return((float)currentVolume / (float)maxVolume); }
public void ScreenCapture_Android() { //写真をとる瞬間だけUI非表示にする #if !UNITY_EDITOR && UNITY_ANDROID && !UNITY_IOS var mediaActionSound = new AndroidJavaObject("android.media.MediaActionSound"); mediaActionSound.Call("play", mediaActionSound.GetStatic <int>("SHUTTER_CLICK")); canvas.SetActive(false); StartCoroutine("Captcha"); #endif }
public static void BackgroundApp() { #if UNITY_EDITOR #elif UNITY_IOS TeakIntegrationTestSuspend(); #elif UNITY_ANDROID using (AndroidJavaClass intentCls = new AndroidJavaClass("android.content.Intent")) { using (AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent")) { intent.Call <AndroidJavaObject>("setAction", intent.GetStatic <string>("ACTION_MAIN")); intent.Call <AndroidJavaObject>("addCategory", intent.GetStatic <string>("CATEGORY_HOME")); using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { using (AndroidJavaObject jo = jc.GetStatic <AndroidJavaObject>("currentActivity")) { jo.Call("startActivity", intent); } } } } #endif }
public static bool isEnabled() { #if UNITY_ANDROID AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject jo = jc.GetStatic <AndroidJavaObject>("currentActivity"); jo.Call("UpdateChildLockStatus"); return(jo.GetStatic <bool>("isEnabled")); #else return(false); #endif }
private static void GetVersionInfo() { AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject context = unityPlayer.GetStatic <AndroidJavaObject> ("currentActivity").Call <AndroidJavaObject> ("getApplicationContext"); AndroidJavaObject pManager = context.Call <AndroidJavaObject> ("getPackageManager"); AndroidJavaObject pInfo = pManager.Call <AndroidJavaObject> ("getPackageInfo", context.Call <string> ("getPackageName"), pManager.GetStatic <int> ("GET_ACTIVITIES")); AbundleVersion = pInfo.Get <string> ("versionName"); }
public FieldType GetStatic <FieldType>(string fieldName) { if (Application.platform == RuntimePlatform.Android) { return(jo.GetStatic <FieldType>(fieldName)); } else { return(default(FieldType)); } }
protected void setPlatform() { // set the platform type and version using (AndroidJavaObject platform = new AndroidJavaClass("com.newrelic.agent.android.ApplicationPlatform").GetStatic <AndroidJavaObject> ("Unity")) { agentInstance.Call <AndroidJavaObject> ("withApplicationFramework", platform); using (AndroidJavaObject agentConfig = pluginInstance.GetStatic <AndroidJavaObject> ("agentConfiguration")) { agentConfig.Call("setApplicationPlatformVersion", platformVersion); UnityEngine.Debug.Log("Unity application platform: version " + platformVersion); } } }
void Update() { if (Input.GetMouseButtonDown(0)) { //写真をとる瞬間だけUI非表示にする //シャッター音 var mediaActionSound = new AndroidJavaObject("android.media.MediaActionSound"); mediaActionSound.Call("play", mediaActionSound.GetStatic <int>("SHUTTER_CLICK")); StartCoroutine("Captcha"); } }