Call() public method

public Call ( string methodName, Object args ) : ReturnType
methodName string
args Object
return ReturnType
コード例 #1
0
    IEnumerator ShareScreenshotInterface.ShareScreenshot(byte[] screenshot, bool isProcessing, string shareText, string gameLink, string subject)
    {
        isProcessing = true;

        string destination = Path.Combine(Application.persistentDataPath, "Screenshot.png");
        FileStream fs = new FileStream(destination, FileMode.OpenOrCreate);
        BinaryWriter ww = new BinaryWriter(fs);
        ww.Write(screenshot);
        ww.Close();
        fs.Close();

        AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
        AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
        intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
        AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
        AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse", "file://" + destination);
        intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject);
        intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), shareText + gameLink);
        intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), subject);
        intentObject.Call<AndroidJavaObject>("setType", "image/png");
        AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");

        currentActivity.Call("startActivity", intentObject);

        isProcessing = false;

        yield return new WaitForSeconds(1);
    }
コード例 #2
0
ファイル: Bluetooth.cs プロジェクト: haoningz/zhn_old
    public static bool Connect(string address)
    {
        try
        {
            var adapter = new AJObject("android.bluetooth.BluetoothAdapter")
                          .CallStatic <AJObject>("getDefaultAdapter");
            // force enable bluetooth
            adapter.Call <bool>("enable");

            var device = adapter.Call <AJObject>("getRemoteDevice", address);
            var uuid   = new AJObject("java.util.UUID")
                         .CallStatic <AJObject>("fromString", SPP_UUID);

            var socket = device.Call <AJObject>(
                "createInsecureRfcommSocketToServiceRecord", uuid);

            socket.Call("connect");
            // at this point, connection is made, no further action necessary
            socket.Call("close");
            return(true);
        }
        catch
        {
            return(false);
        }
    }
コード例 #3
0
ファイル: ScreenPin.cs プロジェクト: acorrow/ToddlerPop
    public static int IsLocked()
    {
        try
        {
            using (AndroidJavaClass activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
            {
                activityContext = activityClass.GetStatic<AndroidJavaObject>("currentActivity");
            }

            using (
                AndroidJavaClass pluginClass =
                    new AndroidJavaClass("com.dualcorstudios.unityscreenpin.DCSAndroidToolkit"))
            {
                if (pluginClass != null)
                {
                    DCSToolkit = pluginClass.CallStatic<AndroidJavaObject>("instance");
                    DCSToolkit.Call("setContext", activityContext);
                    return activityContext.Call<int>("runOnUiThread",
                        new AndroidJavaRunnable(() => { DCSToolkit.Call("isLocked"); }));
                }
            }
        }
        catch (AndroidJavaException e)
        {
            Debug.Log(e.Message);
            Debug.Log(e.StackTrace);
        }
        return 1;
    }
コード例 #4
0
    public void shareText()
    {
        //execute the below lines if being run on a Android device
    #if UNITY_ANDROID
        body = "Faltan " + RolCountdownController.daysRemaining + " días, " + RolCountdownController.hoursRemaining + " horas y " + RolCountdownController.minutesRemaining + " minutos para las próxima roleada!";

        //Refernece of AndroidJavaClass class for intent
        AndroidJavaClass intentClass = new AndroidJavaClass ("android.content.Intent");
        //Refernece of AndroidJavaObject class for intent
        AndroidJavaObject intentObject = new AndroidJavaObject ("android.content.Intent");
        //call setAction method of the Intent object created
        intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
        //set the type of sharing that is happening
        intentObject.Call<AndroidJavaObject>("setType", "text/plain");
        //add data to be passed to the other activity i.e., the data to be sent
        intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), subject);
        intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), body);
        //get the current activity
        AndroidJavaClass unity = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
        AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");
        //start the activity by sending the intent data
        currentActivity.Call ("startActivity", intentObject);
    #endif

    }
コード例 #5
0
        /// <summary>Gets the Google API client Java object.</summary>
        /// <returns>The API client associated with the current Unity app.</returns>
        /// <param name="serverClientID">The OAuth 2.0 client ID for a backend server.</param>
        public AndroidJavaObject GetApiClient(bool getServerAuthCode = false,
                                              string serverClientID = null)
        {
            Debug.Log("Calling GetApiClient....");
            using (var currentActivity = GetActivity())
            {
                using (AndroidJavaClass jc_plus = new AndroidJavaClass("com.google.android.gms.plus.Plus"))
                {
                    using (AndroidJavaObject jc_builder = new AndroidJavaObject("com.google.android.gms.common.api.GoogleApiClient$Builder", currentActivity))
                    {
                        jc_builder.Call<AndroidJavaObject>("addApi", jc_plus.GetStatic<AndroidJavaObject>("API"));
                        jc_builder.Call<AndroidJavaObject>("addScope", jc_plus.GetStatic<AndroidJavaObject>("SCOPE_PLUS_LOGIN"));
                        if (getServerAuthCode)
                        {
                            jc_builder.Call<AndroidJavaObject>("requestServerAuthCode", serverClientID, jc_builder);
                        }
                        AndroidJavaObject client = jc_builder.Call<AndroidJavaObject>("build");
                        client.Call("connect");

                        // limit spinning to 100, to minimize blocking when not
                        // working as expected.
                        // TODO: Make this a callback.
                        int ct = 100;
                        while ((!client.Call<bool>("isConnected")) && (ct-- != 0))
                        {
                            System.Threading.Thread.Sleep(100);
                        }
                        Debug.Log("Done GetApiClient is " + client);
                        return client;
                    }
                }
            }
        }
コード例 #6
0
    public static void FetchOBB()
    {
        #if UNITY_ANDROID
        using (AndroidJavaClass unity_player = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
        {
            AndroidJavaObject current_activity = unity_player.GetStatic<AndroidJavaObject>("currentActivity");

            AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent",
                                                            current_activity,
                                                            new AndroidJavaClass("com.unity3d.plugin.downloader.UnityDownloaderActivity"));

            int Intent_FLAG_ACTIVITY_NO_ANIMATION = 0x10000;
            intent.Call<AndroidJavaObject>("addFlags", Intent_FLAG_ACTIVITY_NO_ANIMATION);
            intent.Call<AndroidJavaObject>("putExtra", "unityplayer.Activity",
                                                        current_activity.Call<AndroidJavaObject>("getClass").Call<string>("getName"));
            current_activity.Call("startActivity", intent);

            if (AndroidJNI.ExceptionOccurred() != System.IntPtr.Zero)
            {
                Debug.LogError("Exception occurred while attempting to start DownloaderActivity - is the AndroidManifest.xml incorrect?");
                AndroidJNI.ExceptionDescribe();
                AndroidJNI.ExceptionClear();
            }
        }
        #endif
    }
コード例 #7
0
    private void showDialog(string msg)
    {
        #if UNITY_ANDROID
        // Obtain activity
        AndroidJavaClass unityPlayer = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
        AndroidJavaObject activity = unityPlayer.GetStatic< AndroidJavaObject>  ("currentActivity");

        // Lets execute the code in the UI thread
        activity.Call("runOnUiThread", new AndroidJavaRunnable(() =>  {
            //clear flag
            clearflag ();

            // Create an AlertDialog.Builder object
            AndroidJavaObject alertDialogBuilder = new AndroidJavaObject("android/app/AlertDialog$Builder", activity);

            // Call setMessage on the builder
            alertDialogBuilder.Call< AndroidJavaObject> ("setMessage", msg);

            // Call setCancelable on the builder
            alertDialogBuilder.Call< AndroidJavaObject> ("setCancelable", true);

            // Call setPositiveButton and set the message along with the listner
            // Listner is a proxy class
            alertDialogBuilder.Call< AndroidJavaObject> ("setPositiveButton", "Yes", new PositiveButtonListner(this));

            // Call setPositiveButton and set the message along with the listner
            // Listner is a proxy class
            alertDialogBuilder.Call< AndroidJavaObject> ("setNegativeButton", "No", new NegativeButtonListner(this));

            // Finally get the dialog instance and show it
            AndroidJavaObject dialog = alertDialogBuilder.Call< AndroidJavaObject> ("create");
            dialog.Call("show");
        }));
        #endif
    }
コード例 #8
0
        public void start(AdjustConfig adjustConfig)
        {
            AndroidJavaObject ajoEnvironment = adjustConfig.environment == AdjustEnvironment.Sandbox ?
                new AndroidJavaClass ("com.adjust.sdk.AdjustConfig").GetStatic<AndroidJavaObject> ("ENVIRONMENT_SANDBOX") :
                    new AndroidJavaClass ("com.adjust.sdk.AdjustConfig").GetStatic<AndroidJavaObject> ("ENVIRONMENT_PRODUCTION");

            AndroidJavaObject ajoAdjustConfig = new AndroidJavaObject ("com.adjust.sdk.AdjustConfig", ajoCurrentActivity, adjustConfig.appToken, ajoEnvironment);

            if (adjustConfig.logLevel != null) {
                AndroidJavaObject ajoLogLevel = new AndroidJavaClass ("com.adjust.sdk.LogLevel").GetStatic<AndroidJavaObject> (adjustConfig.logLevel.ToString().ToUpper());

                if (ajoLogLevel != null) {
                    ajoAdjustConfig.Call ("setLogLevel", ajoLogLevel);
                }
            }

            if (adjustConfig.attributionChangedDelegate != null) {
                onAttributionChangedListener = new AttributionChangeListener (adjustConfig.attributionChangedDelegate);
                ajoAdjustConfig.Call ("setOnAttributionChangedListener", onAttributionChangedListener);
            }

            ajoAdjustConfig.Call ("setSdkPrefix", adjustConfig.sdkPrefix);

            ajcAdjust.CallStatic ("onCreate", ajoAdjustConfig);
        }
コード例 #9
0
        protected PurchasableVirtualItem(AndroidJavaObject jniVirtualItem)
            : base(jniVirtualItem)
        {
            SoomlaUtils.LogDebug(TAG, "Trying to create PurchasableVirtualItem with itemId: " +
                                jniVirtualItem.Call<string>("getItemId"));
            using(AndroidJavaObject jniPurchaseType = jniVirtualItem.Call<AndroidJavaObject>("getPurchaseType")) {
                System.IntPtr cls = AndroidJNI.FindClass("com/soomla/store/purchaseTypes/PurchaseWithMarket");
                if (AndroidJNI.IsInstanceOf(jniPurchaseType.GetRawObject(), cls)) {
                    using(AndroidJavaObject jniMarketItem = jniPurchaseType.Call<AndroidJavaObject>("getMarketItem")) {
                        MarketItem mi = new MarketItem(jniMarketItem);
                        PurchaseType = new PurchaseWithMarket(mi);
                    }
                } else {
                    cls = AndroidJNI.FindClass("com/soomla/store/purchaseTypes/PurchaseWithVirtualItem");
                    if (AndroidJNI.IsInstanceOf(jniPurchaseType.GetRawObject(), cls)) {
                        string itemId = jniPurchaseType.Call<string>("getTargetItemId");
                        int amount = jniPurchaseType.Call<int>("getAmount");

                        PurchaseType = new PurchaseWithVirtualItem(itemId, amount);
                    } else {
                        SoomlaUtils.LogError(TAG, "Couldn't determine what type of class is the given purchaseType.");
                    }
                }
            }
        }
コード例 #10
0
ファイル: ECPlatformInfo.cs プロジェクト: fengqk/Art
	/// <summary>
	/// 取得磁盘空间
	/// </summary>
	/// <param name="path"></param>
	/// <returns>-1表示未知。失败时返回0</returns>
	public static Int64 getDiskFreeSpace(String path)
	{
#if UNITY_STANDALONE_WIN
		ulong FreeBytesAvailable;
		ulong TotalNumberOfBytes;
		ulong TotalNumberOfFreeBytes;

		bool success = GetDiskFreeSpaceEx(path,
										  out FreeBytesAvailable,
										  out TotalNumberOfBytes,
										  out TotalNumberOfFreeBytes);
		if (!success)
			return 0;

		return (Int64)TotalNumberOfFreeBytes;
#elif UNITY_ANDROID
		AndroidJavaObject statFs = new AndroidJavaObject("android.os.StatFs", path);
		return (Int64)statFs.Call<Int32>("getBlockSize") * (Int64)statFs.Call<Int32>("getAvailableBlocks");
#elif UNITY_IOS
		ulong TotalNumberOfFreeBytes;
		bool success = exp_freeDiskSize(out TotalNumberOfFreeBytes);
        if(!success)
            return 0;
        return (Int64)TotalNumberOfFreeBytes;
#else
		return -1;
#endif
    }
コード例 #11
0
	IEnumerator ShareAndroidText ()
	{
		yield return new WaitForEndOfFrame ();
		#if UNITY_ANDROID
		byte[] bytes = MyImage.EncodeToPNG();
		string path = Application.persistentDataPath + "/MyImage.png";
		File.WriteAllBytes(path, bytes);
		
		AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
		AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
		
		intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
		intentObject.Call<AndroidJavaObject>("setType", "image/*");
		intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), "Text Sharing ");
		intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TITLE"), "Text Sharing ");
		intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), "Text Sharing Android Demo");
		
		AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
		
		AndroidJavaObject fileObject = new AndroidJavaObject("java.io.File", path);// Set Image Path Here
		
		AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("fromFile", fileObject);
		
		//			string uriPath =  uriObject.Call<string>("getPath");
		bool fileExist = fileObject.Call<bool>("exists");
		Debug.Log("File exist : " + fileExist);
		AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
		AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");
		currentActivity.Call("startActivity", intentObject);
		
		#endif
	}
コード例 #12
0
ファイル: BrowseDevice.cs プロジェクト: pontura/ArtPlacer
    public void OpenGallery()
    {
        #if UNITY_ANDROID

        //instantiate the class Intent
        AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
        //instantiate the object Intent
        AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");

        //call setAction setting ACTION_SEND as parameter
        intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_PICK"));

        //instantiate the class Uri
        //AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
        //instantiate the object Uri with the parse of the url's file
        //AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse", "content://media/internal/images/media");
        //call putExtra with the uri object of the file
        //intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject);

        //set the type of file
        intentObject.Call<AndroidJavaObject>("setType", "image/jpeg");
        #region [ startActivity(intent); ]
        //instantiate the class UnityPlayer
        AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        //instantiate the object currentActivity
        AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");
        //call the activity with our Intent
        currentActivity.Call("startActivity", intentObject);
        #endregion [ startActivity(intent); ]

        #endif
    }
コード例 #13
0
    public void Share(string shareText, string imagePath, string url, string subject = "")
    {
        #if UNITY_ANDROID
        AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
        AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");

        intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
        AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
        AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse", "file://" + imagePath);
        intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject);
        intentObject.Call<AndroidJavaObject>("setType", "image/png");

        intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), shareText);

        AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");

        AndroidJavaObject jChooser = intentClass.CallStatic<AndroidJavaObject>("createChooser", intentObject, subject);
        currentActivity.Call("startActivity", jChooser);
        #elif UNITY_IOS
        CallSocialShareAdvanced(shareText, subject, url, imagePath);
        #else
        Debug.Log("No sharing set up for this platform.");
        #endif
    }
コード例 #14
0
ファイル: UpgradeVG.cs プロジェクト: CoderBear/AAUnity
		public UpgradeVG(AndroidJavaObject jniUpgradeVG) 
			: base(jniUpgradeVG)
		{
			GoodItemId = jniUpgradeVG.Call<string>("getGoodItemId");
			NextItemId = jniUpgradeVG.Call<string>("getNextItemId");
			PrevItemId = jniUpgradeVG.Call<string>("getPrevItemId");
		}
コード例 #15
0
ファイル: GameLoader.cs プロジェクト: lite/DthUpdate
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 200, 100, 30), "Start")){
            loadBytes();

            Application.LoadLevel("GameMenu");
        }

        if(GUI.Button(new Rect(10, 300, 100, 30), "Update")){
            using (AndroidJavaClass unity_player = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
            {
                AndroidJavaObject current_activity = unity_player.GetStatic<AndroidJavaObject>("currentActivity");

                AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent",
                                                                current_activity,
                                                                new AndroidJavaClass("com.unity3d.plugin.downloader.UnityDownloaderActivity"));

                int Intent_FLAG_ACTIVITY_NO_ANIMATION = 0x10000;
                intent.Call<AndroidJavaObject>("addFlags", Intent_FLAG_ACTIVITY_NO_ANIMATION);
                intent.Call<AndroidJavaObject>("putExtra", "name", "Downloading...");

        //				intent.Call<AndroidJavaObject>("putExtra", "unityplayer.Activity",
        //															current_activity.Call<AndroidJavaObject>("getClass").Call<string>("getName"));
                current_activity.Call("startActivity", intent);

                if (AndroidJNI.ExceptionOccurred() != System.IntPtr.Zero)
                {
                    Debug.LogError("Exception occurred while attempting to start DownloaderActivity - is the AndroidManifest.xml incorrect?");
                    AndroidJNI.ExceptionDescribe();
                    AndroidJNI.ExceptionClear();
                }
            }
        }
    }
コード例 #16
0
ファイル: LoseScreen.cs プロジェクト: YuvalFeldman/JetCat
    // Use this for initialization
    public void ShareImage()
    {
        #if UNITY_ANDROID

            Application.CaptureScreenshot("/Screenshot.png");

            string destination = Application.persistentDataPath + "/Screenshot.png";
            Debug.Log (destination);
            // block to open the file and share it ------------START
            AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
            AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
            intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
            AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
            AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse","file://" + destination);
            intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject);
            //intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), "testo");
            //intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), "SUBJECT");
            intentObject.Call<AndroidJavaObject>("setType", "image/jpeg");
            AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");

            // option one:
            currentActivity.Call("startActivity", intentObject);
        #endif
    }
コード例 #17
0
	private IEnumerator ShareCoroutineAndroid(string destination, string fullDestination)
	{
		#if UNITY_ANDROID
		
		AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
		AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
		AndroidJavaClass fileClass = new AndroidJavaClass("java.io.File");
		AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
		
		AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse", "file://" + fullDestination);

		AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
		intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
		intentObject.Call<AndroidJavaObject>("setType", "image/jpeg");
		intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), "Check out my streak in " + MessageBook.AppName);
		intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject);

		AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");

		// display the chooser
		AndroidJavaObject jChooser = intentClass.CallStatic<AndroidJavaObject>("createChooser", intentObject, "Choose sharing method");
		currentActivity.Call("startActivity", jChooser);

		#endif

		yield return null;
	}
コード例 #18
0
    private IEnumerator ShareScreenshot()
    {
        isProcessing = true;
        yield return new WaitForEndOfFrame();

        Texture2D screenTexture = new Texture2D(1080, 1080, TextureFormat.RGB24, true);
        screenTexture.Apply();

        if (!Application.isEditor)
        {

            AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
            AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
            intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string> ("ACTION_SEND"));
            intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), shareText + gameLink);
            intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), subject);
            intentObject.Call<AndroidJavaObject>("setType", "text/plain");
            AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");

            currentActivity.Call("startActivity", intentObject);

        }

        isProcessing = false;
    }
コード例 #19
0
 void Start()
 {
     #if UNITY_ANDROID
     plugin = new AndroidJavaClass("jp.kshoji.unity.sensor.UnitySensorPlugin").CallStatic<AndroidJavaObject>("getInstance");
     plugin.Call("setSamplingPeriod", 100 * 1000); // refresh sensor 100 mSec each
     plugin.Call("startSensorListening", "accelerometer");
     #endif
 }
コード例 #20
0
		public VirtualCurrencyPack(AndroidJavaObject jniVirtualCurrencyPack) 
			: base(jniVirtualCurrencyPack)
		{
			this.CurrencyAmount = jniVirtualCurrencyPack.Call<int>("getCurrencyAmount");

			// Virtual Currency
			CurrencyItemId = jniVirtualCurrencyPack.Call<string>("getCurrencyItemId");
		}
コード例 #21
0
 public WrapperNetStream()
 {
     if (Application.platform == RuntimePlatform.Android) {
         Debug.Log("Trying to Call finish");
         _socket = new AndroidJavaObject("java.net.Socket", new object[] { "192.168.1.3", 2594 });
         _inStream = _socket.Call<AndroidJavaObject>("getInputStream");
         _outStream = _socket.Call<AndroidJavaObject>("getOutputStream");
     }
 }
コード例 #22
0
            public static string SaveInBackground(string parseObject, string key, string value)
            {
                Debug.Log("Initialize " + parseObject + " " + key + " " + value); 

                var po = new AndroidJavaObject("com.parse.ParseObject", parseObject);
                po.Call("put", key, value);
                po.Call("saveInBackground");
                return po.Call<String>("getObjectId");
            }
コード例 #23
0
ファイル: CBInPlay.cs プロジェクト: nurfarazi/Water-ninja
 public CBInPlay(AndroidJavaObject inPlayAd, AndroidJavaObject plugin)
 {
     androidInPlayAd = inPlayAd;
     // Set the app name and create appIcon texture
     appName = androidInPlayAd.Call<String>("getAppName");
     string appIconString = plugin.Call<String> ("getBitmapAsString", androidInPlayAd.Call<AndroidJavaObject> ("getAppIcon"));
     appIcon = new Texture2D (4, 4);
     appIcon.LoadImage(Convert.FromBase64String(appIconString));
 }
コード例 #24
0
 void Start()
 {
     jo = new AndroidJavaObject("com.example.alan.bluetoothreceive");
     jo.Call("findBT");
     jo.Call("openBT");
     rb = GetComponent<Rigidbody>();
     Vector3 movement = new Vector3(moveSpeed, 0.0f, moveSpeed);
     rb.AddForce(movement);
 }
コード例 #25
0
ファイル: VirtualCategory.cs プロジェクト: CoderBear/AAUnity
		public VirtualCategory(AndroidJavaObject jniVirtualCategory) {
			this.Name = jniVirtualCategory.Call<string>("getName");
			
			using(AndroidJavaObject jniItemIds = jniVirtualCategory.Call<AndroidJavaObject>("getGoodsItemIds")) {
				for(int i=0; i<jniItemIds.Call<int>("size"); i++) {
					using(AndroidJavaObject jniItemId = jniItemIds.Call<AndroidJavaObject>("get", i)) {
						GoodItemIds.Add(jniItemId.Call<string>("toString"));
					}
				}
			}
		}
コード例 #26
0
 public RECBar(AndroidJavaObject recorder, string gameObject, string callback)
 {
     try {
         recBar = new AndroidJavaObject("cn.sharerec.gui.Unity3DRecBar");
         recBar.Call("setRecorder", recorder);
         recBar.Call("setRecBarCallback", gameObject, callback);
         recBar.Call("setRecBarAnchor", 1);
     } catch(Exception e) {
         throw e;
     }
 }
コード例 #27
0
 public VirtualCurrencyPack(AndroidJavaObject jniVirtualCurrencyPack)
     : base(jniVirtualCurrencyPack)
 {
     this.CurrencyAmount = jniVirtualCurrencyPack.Call<int>("getCurrencyAmount");
     // Google Market Item
     AndroidJavaObject jniGoogleMarketItem = jniVirtualCurrencyPack.Call<AndroidJavaObject>("getGoogleItem");
     this.MarketItem = new MarketItem(jniGoogleMarketItem);
     // Virtual Currency
     AndroidJavaObject jniVirtualCurrency = jniVirtualCurrencyPack.Call<AndroidJavaObject>("getVirtualCurrency");
     this.Currency = new VirtualCurrency(jniVirtualCurrency);
 }
コード例 #28
0
ファイル: AdSDK.cs プロジェクト: yarus777/PingPong
    private static AndroidJavaObject GetParams()
    {
        AndroidJavaObject obj = new AndroidJavaObject("com.inappertising.ads.core.model.AdParametersBuilder");
        obj.Call<AndroidJavaObject>("setPublisherId", publisherId);
        obj.Call<AndroidJavaObject>("setAppKey", appKey);

        obj.Call<AndroidJavaObject>("setMarket", market);

        obj.Call<AndroidJavaObject>("setAffId", affId);
        return obj;
    }
コード例 #29
0
	// Use this for initialization
	void Start ()
	{
		Debug.Log ("camera start");
		
		AndroidJavaClass jc = new AndroidJavaClass ("com.unity3d.player.UnityPlayer"); 
		currentActivity = jc.GetStatic<AndroidJavaObject> ("currentActivity"); 
		currentActivity.Call ("onUnityLoaded");

		float[] cameraParam = currentActivity.Call<float[]> ("getCameraParameters");
		Matrix4x4 proj = buildProjectionMatrix (cameraParam, w, h);
		camera.projectionMatrix = proj;
	}
コード例 #30
0
 //Threads (Clients) Interface
 public static void startThread(int threadID)
 {
     #if UNITY_ANDROID && !UNITY_EDITOR
     Debug.Log("getting the info to make the start activity ");
     AndroidJavaClass activityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
     AndroidJavaObject mainActivity = activityClass.GetStatic<AndroidJavaObject>("currentActivity");
     AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent","nl.dcc.buffer_bci.bufferclientsservice.clientsfilter");
     intent = intent.Call<AndroidJavaObject>("putExtra","a",Config.bufferThreadStartActionID);
     intent = intent.Call<AndroidJavaObject>("putExtra","t_id",threadID);
     Debug.Log("service intent = " + intent);
     mainActivity.Call("sendBroadcast",intent);
     #endif
 }
コード例 #31
0
ファイル: VirtualGood.cs プロジェクト: akshatg/unity3d-store
        public VirtualGood(AndroidJavaObject jniVirtualGood)
            : base(jniVirtualGood)
        {
            // Virtual Category
            using(AndroidJavaObject jniVirtualCategory = jniVirtualGood.Call<AndroidJavaObject>("getCategory")) {
                this.Category = new VirtualCategory(jniVirtualCategory);
            }

            // Price Model
            using(AndroidJavaObject jniPriceModel = jniVirtualGood.Call<AndroidJavaObject>("getPriceModel")) {
                this.PriceModel = AbstractPriceModel.CreatePriceModel(jniPriceModel);
            }
        }
コード例 #32
0
    public static string GetAndroidAdMobID()
    {
        UnityEngine.AndroidJavaClass  up = new UnityEngine.AndroidJavaClass("com.unity3d.player.UnityPlayer");
        UnityEngine.AndroidJavaObject currentActivity = up.GetStatic <UnityEngine.AndroidJavaObject>("currentActivity");
        UnityEngine.AndroidJavaObject contentResolver = currentActivity.Call <UnityEngine.AndroidJavaObject>("getContentResolver");
        UnityEngine.AndroidJavaObject secure          = new UnityEngine.AndroidJavaObject("android.provider.Settings$Secure");
        string deviceID = secure.CallStatic <string>("getString", contentResolver, "android_id");

        return(Md5Sum(deviceID).ToUpper());
    }
コード例 #33
0
 /// <summary>
 /// 调用方法
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="result"></param>
 /// <param name="jobj"></param>
 /// <param name="name"></param>
 /// <param name="args"></param>
 /// <returns></returns>
 public bool CallMethod <T>(ref T result, UnityEngine.AndroidJavaObject jobj, string name, params object[] args)
 {
     try
     {
         result = jobj.Call <T>(name, args);
         return(true);
     }
     catch (AndroidJavaException e)
     {
         Debug.LogError("Exception calling activity method " + name + ": " + e);
         return(false);
     }
 }
コード例 #34
0
 /// <summary>
 /// 调用方法
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="result"></param>
 /// <param name="jobj"></param>
 /// <param name="name"></param>
 /// <param name="args"></param>
 /// <returns></returns>
 public static bool UPvr_CallMethod(UnityEngine.AndroidJavaObject jobj, string name, params object[] args)
 {
     try
     {
         jobj.Call(name, args);
         return(true);
     }
     catch (AndroidJavaException e)
     {
         Debug.LogError(" Exception calling activity method " + name + ": " + e);
         return(false);
     }
 }
コード例 #35
0
    UnityEngine.AndroidJavaObject GetPluginInstance()
    {
        if (activityContext == null)
        {
            using (UnityEngine.AndroidJavaClass activityClass = new UnityEngine.AndroidJavaClass("com.unity3d.player.UnityPlayer")) {
                activityContext = activityClass.GetStatic <UnityEngine.AndroidJavaObject>("currentActivity");
            }
        }

        using (UnityEngine.AndroidJavaClass pluginClass = new UnityEngine.AndroidJavaClass(packageName + "." + className)) {
            if (unityMusicPluginInstance == null)
            {
                unityMusicPluginInstance = pluginClass.CallStatic <UnityEngine.AndroidJavaObject>("instance");
                unityMusicPluginInstance.Call("setContext", activityContext);
            }
        }

        return(unityMusicPluginInstance);
    }
コード例 #36
0
        public static object UnboxArray(AndroidJavaObject obj)
        {
            Array array;

            if (obj == null)
            {
                return(null);
            }
            AndroidJavaClass  class2 = new AndroidJavaClass("java/lang/reflect/Array");
            AndroidJavaObject obj3   = obj.Call <AndroidJavaObject>("getClass", new object[0]).Call <AndroidJavaObject>("getComponentType", new object[0]);
            string            str    = obj3.Call <string>("getName", new object[0]);

            object[] args = new object[] { obj };
            int      num  = class2.Call <int>("getLength", args);

            if (obj3.Call <bool>("IsPrimitive", new object[0]))
            {
                if ("I" != str)
                {
                    if ("Z" != str)
                    {
                        if ("B" != str)
                        {
                            if ("S" != str)
                            {
                                if ("J" != str)
                                {
                                    if ("F" != str)
                                    {
                                        if ("D" != str)
                                        {
                                            if ("C" != str)
                                            {
                                                throw new Exception("JNI; Unknown argument type '" + str + "'");
                                            }
                                            array = new char[num];
                                        }
                                        else
                                        {
                                            array = new double[num];
                                        }
                                    }
                                    else
                                    {
                                        array = new float[num];
                                    }
                                }
                                else
                                {
                                    array = new long[num];
                                }
                            }
                            else
                            {
                                array = new short[num];
                            }
                        }
                        else
                        {
                            array = new byte[num];
                        }
                    }
                    else
                    {
                        array = new bool[num];
                    }
                }
                else
                {
                    array = new int[num];
                }
            }
            else if ("java.lang.String" == str)
            {
                array = new string[num];
            }
            else if ("java.lang.Class" == str)
            {
                array = new AndroidJavaClass[num];
            }
            else
            {
                array = new AndroidJavaObject[num];
            }
            for (int i = 0; i < num; i++)
            {
                object[] objArray2 = new object[] { obj, i };
                array.SetValue(Unbox(class2.CallStatic <AndroidJavaObject>("get", objArray2)), i);
            }
            return(array);
        }
コード例 #37
0
 public void RecordResolution(PurchaseResolutionType resolution)
 {
     purchase.Call("recordResolution", (int)resolution);
 }
コード例 #38
0
        public static object Unbox(AndroidJavaObject obj)
        {
            object result;

            if (obj == null)
            {
                result = null;
            }
            else
            {
                AndroidJavaObject androidJavaObject = obj.Call <AndroidJavaObject>("getClass", new object[0]);
                string            b = androidJavaObject.Call <string>("getName", new object[0]);
                if ("java.lang.Integer" == b)
                {
                    result = obj.Call <int>("intValue", new object[0]);
                }
                else if ("java.lang.Boolean" == b)
                {
                    result = obj.Call <bool>("booleanValue", new object[0]);
                }
                else if ("java.lang.Byte" == b)
                {
                    result = obj.Call <byte>("byteValue", new object[0]);
                }
                else if ("java.lang.Short" == b)
                {
                    result = obj.Call <short>("shortValue", new object[0]);
                }
                else if ("java.lang.Long" == b)
                {
                    result = obj.Call <long>("longValue", new object[0]);
                }
                else if ("java.lang.Float" == b)
                {
                    result = obj.Call <float>("floatValue", new object[0]);
                }
                else if ("java.lang.Double" == b)
                {
                    result = obj.Call <double>("doubleValue", new object[0]);
                }
                else if ("java.lang.Character" == b)
                {
                    result = obj.Call <char>("charValue", new object[0]);
                }
                else if ("java.lang.String" == b)
                {
                    result = obj.Call <string>("toString", new object[0]);
                }
                else if ("java.lang.Class" == b)
                {
                    result = new AndroidJavaClass(obj.GetRawObject());
                }
                else if (androidJavaObject.Call <bool>("isArray", new object[0]))
                {
                    result = _AndroidJNIHelper.UnboxArray(obj);
                }
                else
                {
                    result = obj;
                }
            }
            return(result);
        }
コード例 #39
0
 public void FinishPurchase()
 {
     result.Call("finishPurchase");
 }
コード例 #40
0
        public static object UnboxArray(AndroidJavaObject obj)
        {
            if (obj == null)
            {
                return(null);
            }
            AndroidJavaClass  androidJavaClass   = new AndroidJavaClass("java/lang/reflect/Array");
            AndroidJavaObject androidJavaObject  = obj.Call <AndroidJavaObject>("getClass", new object[0]);
            AndroidJavaObject androidJavaObject2 = androidJavaObject.Call <AndroidJavaObject>("getComponentType", new object[0]);
            string            text = androidJavaObject2.Call <string>("getName", new object[0]);
            int num = androidJavaClass.Call <int>("getLength", new object[]
            {
                obj
            });
            Array array;

            if (androidJavaObject2.Call <bool>("IsPrimitive", new object[0]))
            {
                if ("I" == text)
                {
                    array = new int[num];
                }
                else if ("Z" == text)
                {
                    array = new bool[num];
                }
                else if ("B" == text)
                {
                    array = new byte[num];
                }
                else if ("S" == text)
                {
                    array = new short[num];
                }
                else if ("J" == text)
                {
                    array = new long[num];
                }
                else if ("F" == text)
                {
                    array = new float[num];
                }
                else if ("D" == text)
                {
                    array = new double[num];
                }
                else
                {
                    if (!("C" == text))
                    {
                        throw new Exception("JNI; Unknown argument type '" + text + "'");
                    }
                    array = new char[num];
                }
            }
            else if ("java.lang.String" == text)
            {
                array = new string[num];
            }
            else if ("java.lang.Class" == text)
            {
                array = new AndroidJavaClass[num];
            }
            else
            {
                array = new AndroidJavaObject[num];
            }
            for (int i = 0; i < num; i++)
            {
                array.SetValue(_AndroidJNIHelper.Unbox(androidJavaClass.CallStatic <AndroidJavaObject>("get", new object[]
                {
                    obj,
                    i
                })), i);
            }
            return(array);
        }
コード例 #41
0
        public static string GetSignature(object obj)
        {
            if (obj == null)
            {
                return("Ljava/lang/Object;");
            }
            Type type = (!(obj is Type)) ? obj.GetType() : ((Type)obj);

            if (AndroidReflection.IsPrimitive(type))
            {
                if (type.Equals(typeof(int)))
                {
                    return("I");
                }
                if (type.Equals(typeof(bool)))
                {
                    return("Z");
                }
                if (type.Equals(typeof(byte)))
                {
                    return("B");
                }
                if (type.Equals(typeof(short)))
                {
                    return("S");
                }
                if (type.Equals(typeof(long)))
                {
                    return("J");
                }
                if (type.Equals(typeof(float)))
                {
                    return("F");
                }
                if (type.Equals(typeof(double)))
                {
                    return("D");
                }
                if (type.Equals(typeof(char)))
                {
                    return("C");
                }
                return(string.Empty);
            }
            else
            {
                if (type.Equals(typeof(string)))
                {
                    return("Ljava/lang/String;");
                }
                if (obj is AndroidJavaProxy)
                {
                    AndroidJavaObject androidJavaObject = new AndroidJavaObject(((AndroidJavaProxy)obj).javaInterface.GetRawClass());
                    return("L" + androidJavaObject.Call <string>("getName", new object[0]) + ";");
                }
                if (type.Equals(typeof(AndroidJavaRunnable)))
                {
                    return("Ljava/lang/Runnable;");
                }
                if (type.Equals(typeof(AndroidJavaClass)))
                {
                    return("Ljava/lang/Class;");
                }
                if (type.Equals(typeof(AndroidJavaObject)))
                {
                    if (obj == type)
                    {
                        return("Ljava/lang/Object;");
                    }
                    AndroidJavaObject androidJavaObject2 = (AndroidJavaObject)obj;
                    using (AndroidJavaObject androidJavaObject3 = androidJavaObject2.Call <AndroidJavaObject>("getClass", new object[0]))
                    {
                        return("L" + androidJavaObject3.Call <string>("getName", new object[0]) + ";");
                    }
                }
                if (!AndroidReflection.IsAssignableFrom(typeof(Array), type))
                {
                    throw new Exception(string.Concat(new object[]
                    {
                        "JNI: Unknown signature for type '",
                        type,
                        "' (obj = ",
                        obj,
                        ") ",
                        (type != obj) ? "instance" : "equal"
                    }));
                }
                if (type.GetArrayRank() != 1)
                {
                    throw new Exception("JNI: System.Array in n dimensions is not allowed");
                }
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.Append('[');
                stringBuilder.Append(_AndroidJNIHelper.GetSignature(type.GetElementType()));
                return(stringBuilder.ToString());
            }
        }