コード例 #1
0
        private static jvalue[] CreateVibrationEffect(long durationMs, int amplitude)
        {
            if (!IsAndroid())
            {
                return(null);
            }

            if (!VibrateEffectArgsCache.TryGetValue((durationMs, amplitude), out var args))
            {
                var effect = VibrationEffectClass?.CallStatic <AndroidJavaObject>("createOneShot", durationMs, amplitude);

                if (effect != null)
                {
                    GlobalReferences.Add(effect);
                }

                args = new[] { new jvalue {
                                   l = effect?.GetRawObject() ?? IntPtr.Zero
                               } };
                VibrateEffectArgsCache[(durationMs, amplitude)] = args;