# InvokeAttached(Action)

> Calls AndroidJNI.AttachCurrentThread (if necessary) before invoking a delegate, and then calls AndroidJNI.DetachCurrentThread.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.AndroidJNIModule

```csharp
public static void InvokeAttached(Action action)
```

### Parameters

**** (\[Action]\(https\://learn.microsoft.com/dotnet/api/system.action)):&#x20;

### Remarks

**Note:** Use this method to invoke Java methods on threads other than the main thread.

### Examples

```csharp
using System;
using UnityEngine;
using UnityEngine.Android;

public class JavaThreads : MonoBehaviour
{
    public void Start()
    {
        var t = new System.Threading.Thread(() =>
        {
            AndroidJNI.InvokeAttached(() => Debug.Log(AndroidApplication.currentActivity.Call<string>("getLocalClassName")));
        });
        t.Start();
    }
}
```
