public override bool InitDevice()
    {
        Debug.Log("NoloVR_AndroidPlayform InitDevice");
        if (playformError == NoloError.None)
        {
            return(true);
        }
        try
        {
            func = new ConnectedStatusCallBackFunc(ConnectedStatusCallBack);
            NoloClientSo.SetConnectedStatus(func);

            unityPlayer     = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            currentActivity = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity");
            jc = new AndroidJavaClass("com.nolovr.androidsdkclient.NoloVR");
            jo = jc.CallStatic <AndroidJavaObject>("getInstance", currentActivity);
            if (jo.Call <bool>("isStallServer"))
            {
                jo.Call("openServer");
                playformError = NoloError.None;
                Debug.Log("NoloVR_AndroidPlayform InitDevice Finish");
            }
        }
        catch (Exception e)
        {
            Debug.Log("NoloVR_AndroidPlayform InitDevice:error" + e.Message);
            playformError = NoloError.ConnectFail;
            return(false);
        }
        return(true);
    }
 public static extern int SetConnectedStatus([MarshalAs(UnmanagedType.FunctionPtr)] ConnectedStatusCallBackFunc nfun);