Вибрация без остановки с помощью flutter

#android #flutter #dart #vibration

#Android #flutter #dart #вибрация

Вопрос:

Я хочу написать функцию при нажатии, я хочу, чтобы телефон вибрировал без остановки.

 onPressed: () 
{
  Vibration.vibrate(duration: 100000,  );
},
  

как я могу это сделать?

Ответ №1:

Вы могли бы сделать что-то вроде этого

 import 'dart:async';

import 'package:flutter/material.dart';
import 'package:vibration/vibration.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    bool _cancel = false;
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(
          title: const Text("Vibration Demo"),
        ),
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              RaisedButton(
                onPressed: () {
                  Timer.periodic(
                    const Duration(seconds: 1),
                    (Timer timer) {
                      if (_cancel) {
                        timer.cancel();
                        _cancel = false;
                        return false;
                      }
                      return Vibration.vibrate(duration: 1000);
                    },
                  );
                },
                child: const Text("Start Vibrations"),
              ),
              RaisedButton(
                onPressed: () {
                  _cancel = true;
                },
                child: const Text("Stop Vibrations"),
              )
            ],
          ),
        ),
      ),
    );
  }
}
  

Комментарии:

1. Тип аргумента ‘Timer’ не может быть присвоен типу параметра ‘int’.

2. я не могу использовать это

3. Тип аргумента ‘Timer’ не может быть присвоен типу параметра ‘int’

4. это вообще не работает. Теперь он ничего не делает

5. Как вы это используете, можете ли вы обновить свой код?