小编San*_*kil的帖子

Python 键盘模块在没有 root 的情况下无法工作

目前,我已经编写了一个语音助手的代码,可以用用户的语音进行书写。我使用 pip 中的 python 键盘模块。但是当我执行代码时,它告诉我没有root就无法写入。

代码如下,

elif (t.find("type") != -1):

    le = t.find("type") + len("type") + 1
    t = t[le:]
    try:
        print("Typing> ", t)
        keyboard.write('' + t+". ")
    except:
        print("Can't Type")
Run Code Online (Sandbox Code Playgroud)

python keyboard

8
推荐指数
1
解决办法
7774
查看次数

在后台使用 googleapis 将文件上传到谷歌驱动器(Flutter)

我可以googleapis在前台将文件上传到谷歌驱动器,但我需要在我的 flutter 应用程序的后台上传文件。我试图上传,workmanager但它不起作用。这是我的应用程序这篇文章的代码的一些必要部分:

...
@override
  void initState() {
    WidgetsFlutterBinding.ensureInitialized();
    Workmanager.initialize(callbackDispatcher, isInDebugMode: true);
    Workmanager.registerPeriodicTask("1", "simplePeriodicTask",
        existingWorkPolicy: ExistingWorkPolicy.replace,
        frequency: Duration(hours: 1),
        initialDelay:
            Duration(seconds: 5),
        constraints: Constraints(
          networkType: NetworkType.connected,
        ));
    super.initState();
    login()
  }
...
Run Code Online (Sandbox Code Playgroud)

...

这是后台任务:

...
void callbackDispatcher() {
  Workmanager.executeTask((task, inputData) {
    login();
    _HomeState().uploadFileL();
    print('Background Services are Working!');
    return Future.value(true);
  });
}
...
Run Code Online (Sandbox Code Playgroud)

...

这是用于上传文件:

...
Future<void> uploadFileL() async {
    final filename = 'Location.db';
    final gFile = ga.File();
    gFile.name = filename;
    final dir = await getExternalStorageDirectory(); …
Run Code Online (Sandbox Code Playgroud)

file-upload google-api drive dart flutter

7
推荐指数
1
解决办法
600
查看次数

如何在 Flutter WebView 中将数据发布到 URL

我想将一些数据发布到 Flutter WebView 中的 URL 主体。那么,我该怎么做呢?

post webview flutter

7
推荐指数
2
解决办法
2万
查看次数

无法使用workmanager在后台执行异步方法

在我的应用程序中,我需要在后台执行一些任务(当应用程序不在前台运行时)。我可以在后台执行一些方法,但是,我需要在后台执行一个异步方法,但我不能。

这是我的代码的一部分:

void main() {
  runApp(MaterialApp(
    home: Home(),
  ));

  Workmanager.initialize(callbackDispatcher, isInDebugMode: true);
  Workmanager.registerPeriodicTask("1", "simplePeriodicTask",
      existingWorkPolicy: ExistingWorkPolicy.replace,
      frequency: Duration(minutes: 15),
      initialDelay:
          Duration(seconds: 5),
      constraints: Constraints(
        networkType: NetworkType.connected,
      ));
}

void callbackDispatcher() {
  Workmanager.executeTask((task, inputData) {
    _HomeState().manager();//This is not Working
    print('Background Services are Working!');//This is Working
    return Future.value(true);
  });
}

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {

  @override
  void initState() {
    login();
    super.initState();
  }

  void manager() async {
    if (account == null) { …
Run Code Online (Sandbox Code Playgroud)

background-process async-await dart flutter

5
推荐指数
1
解决办法
2040
查看次数

如何在 Dart (Flutter) 中获取每个可迭代值的索引号

我需要的索引的forEach,因为我想更新我的数据表可迭代的值。但是为了更新数据表,我需要列 ID。这就是为什么我想要每个值的索引号并将其分配给 > i。有类似的问题解释了如何获取可迭代的索引。但就我而言,我无法映射CallLogEntry,这就是为什么我无法获得此可迭代值的索引的原因。

Future callLogDB() async {
    Iterable<CallLogEntry> cLog = await CallLog.get();
    final dbHelper = DatabaseHelper.instance;
    int i = 0;
    cLog.forEach((log) async {
      i++;
      // row to insert
      Map<String, dynamic> row = {
        //DatabaseHelper.columnId: 2,
        DatabaseHelper.columnName: '${log.name}',
        DatabaseHelper.columnNumber: '${log.number}',
        DatabaseHelper.columnType: '${log.callType}',
        DatabaseHelper.columnDate:
            '${DateTime.fromMillisecondsSinceEpoch(log.timestamp)}',
        DatabaseHelper.columnDuration: '${log.duration}'
      };
      await dbHelper.insert(row);
      print('CallLog $i:: $row');
    });
    return cLog;
  }
Run Code Online (Sandbox Code Playgroud)

database foreach iterable dart flutter

3
推荐指数
1
解决办法
5927
查看次数

SqfliteDatabaseException(DatabaseException(靠近“)”:语法错误

我用 sqflite 创建了一个数据表。但它向我显示了语法错误。你能告诉我这里的语法错误在哪里吗?

Future _onCreate(Database db, int version) async {
    await db.execute('''
          CREATE TABLE $table (
            $columnId INTEGER PRIMARY KEY,
            $columnfid VARCHAR,
            $columnfname TEXT,
          )
          ''');
  }
Run Code Online (Sandbox Code Playgroud)

这是错误:

Exception has occurred.
SqfliteDatabaseException (DatabaseException(near ")": syntax error (code 1 SQLITE_ERROR): , while compiling: CREATE TABLE fid_table (
            id INTEGER PRIMARY KEY,
            fid VARCHAR,
            fname TEXT,
          )) sql '          CREATE TABLE fid_table (
            id INTEGER PRIMARY KEY,
            fid VARCHAR,
            fname TEXT,
          )
          ' args []})
Run Code Online (Sandbox Code Playgroud)

database flutter sqflite

3
推荐指数
1
解决办法
2890
查看次数

如何检查是否有任何活动流已被收听?

有没有办法检查 Dart/Flutter 中是否有已监听的活动 Stream?

假设有一个 Stream 在一个 Screen 上已被监听。但是,我需要在另一个屏幕上收听该流。所以我需要检查是否有任何已收听的活动流。

stream dart flutter

3
推荐指数
1
解决办法
4008
查看次数