小编use*_*745的帖子

Flutter Push 通知未显示在 IOS 上

我在推送通知方面遇到 Flutter 和 IOS 问题。

我的设置和有效的东西:

1)我安装了firebase_messaging: ^5.1.6没有错误的软件包/按照他们的所有IOS说明进行操作

2) 我已在 IOS 上征得用户许可并接受接收推送通知

3) 我能够在 IOS 和 Android 设备上获得 FCM 令牌

4)我在苹果开发者部分创建了一个密钥,并将密钥添加到 FCM

5)我在测试时关闭了应用程序/将其发送到后台 - 仍然没有运气

6) 我已经使用 Xcode 将 google-service-info 文件添加到 Runner

7) 我在 XCode 功能中添加了推送通知和后台通知

8) 我正在 iPhone 7 物理设备和物理 iPad 上进行测试

我使用 curl 向 IOS 设备发送通知

curl -X POST --header "Authorization: key=<myAuthKEY>" \
    --Header "Content-Type: application/json" \
    https://fcm.googleapis.com/fcm/send \
    -d "{\"to\":\"<myDeviceKey>\",\"notification\":{\"body\":\"Hello\"},\"priority\":10}"

Run Code Online (Sandbox Code Playgroud)

我收到了来自 firebase 的成功响应

{"multicast_id":<SomeIdHere>,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"<SomeIdHere>"}]}
Run Code Online (Sandbox Code Playgroud)

这是我检索令牌的方法:

firebaseMessaging.getToken().then((String token) {
      _authModel.setNotificationToken(token);
    });
Run Code Online (Sandbox Code Playgroud)

当我在 IOS 上运行该应用程序时,我没有收到任何 Firebase 错误。 …

apple-push-notifications dart flutter

19
推荐指数
1
解决办法
1万
查看次数

使用PHP而非bot的Telegram API

使用Ionic的应用程序,并为此应用程序有一个PHP api后端.

我们需要在这个应用程序中集成Telegram API消息,我需要使用API​​而不是bot,因为我们需要检索用户联系人以允许他们发送新的私人消息.

我花了7个多小时寻找示例和Telegrams文档但是仍然无法找到实现这一点的方法,我想知道是否有人可以指出我正确的方向.

php api twitter telegram

9
推荐指数
1
解决办法
1万
查看次数

带箭头的颤动弹出窗口

我在下面附上了一张照片,我需要一个弹出窗口小部件,如下图所示,我是新手,并且已经研究了现有的小部件,但似乎找不到任何类似的东西。有人可以指导我如何创建这个吗?

在此输入图像描述

谢谢

popup dart flutter

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

Flutter类继承

我正在Flutter中构建我的第一个应用,该应用正在使用sqlite database。因此,我有模型和存储库。

代码布局:

我有2款(将有更多的在成品应用程序)UserModelTimesheetModel这些都延长BaseModel

我有2个存储库(将有更多的在成品应用程序) UserRepositoryTimesheetRepository这些都延伸BaseRepository

我所试图做的事:我想有可重用的代码,如:getAll()countAll()在等BaseRepository这样所有的扩展基本信息库具有此功能的资料库和所有我需要做的是设置表名称并设置返回Model

错误:您可以从我的代码中看到,因为的BaseRepository返回BaseModel类型,当我all()在时间表对象上调用函数时,出现以下错误:类型'列表'不是类型'列表'的子类型

我不确定如何解决此问题,请提出任何建议?

基本资料库

abstract class BaseRepository {
  final String table;
  final model;

  BaseRepository({this.table, this.model});

  // Retrieve all the items
  Future<List<BaseModel>> all() async {
    final sql = '''SELECT * FROM $table''';
    final data = await db.rawQuery(sql);

    List<BaseModel> forms = List();
    for (final node in data) {
      final form = …
Run Code Online (Sandbox Code Playgroud)

inheritance class dart flutter

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

尝试显示超过 10 张图像时 Flutter 应用程序崩溃

我正在编写我的第一个 Flutter 应用程序。该应用程序允许用户拍摄多张图像(从 1 到 50 多张),并使用 ListView 在屏幕上一次性显示每张图像。

我遇到的问题是,应用程序在三星 SM A520F 上大约 10/12 张图片后崩溃,我猜这是因为这不是一个非常强大的设备。

有没有办法可以显示图像的缩略图而不是加载全尺寸图像?

错误消息:我实际上没有收到任何错误消息,应用程序似乎重新启动了!

这是我的代码

import 'package:flutter/material.dart';
import 'package:myapp/utilities/app_constants.dart';
import 'package:image_picker/image_picker.dart';
import 'dart:io';
import 'package:gallery_saver/gallery_saver.dart';

class FormCameraField extends StatefulWidget {
  final InputDecoration decorations;
  final Map field;
  // functions
  final Function onSaved;
  final Function onFieldSubmitted;

  FormCameraField({
    this.decorations,
    @required this.field,
    @required this.onSaved,
    @required this.onFieldSubmitted,
  });

  @override
  _FormCameraFieldState createState() => _FormCameraFieldState();
}

class _FormCameraFieldState extends State<FormCameraField> {
  List<File> images = [];

  Future<void> _takePhoto(ImageSource source) async {
    ImagePicker.pickImage(source: source, imageQuality: 90).then( …
Run Code Online (Sandbox Code Playgroud)

camera image flutter

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

Android 上后台获取 Flutter 访问数据库

我试图在应用程序完全关闭时访问设备上的本地数据库,为此我使用 sqlite 插件sqflite: ^1.2.0和后台获取插件background_fetch: ^0.4.0

\n\n

我能够毫无问题地注册无头后台任务,当我尝试运行后台任务时,出现以下错误!

\n\n

当应用程序运行或进入后台模式时,插件似乎可以正常工作。

\n\n

请问有什么建议吗?

\n\n

错误

\n\n
[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method getDatabasesPath on channel com.tekartik.sqflite)\n
Run Code Online (Sandbox Code Playgroud)\n\n

颤动版本:

\n\n
Flutter 1.12.13+hotfix.7 \xe2\x80\xa2 channel stable \xe2\x80\xa2 https://github.com/flutter/flutter.git\nFramework \xe2\x80\xa2 revision 9f5ff2306b (11 days ago) \xe2\x80\xa2 2020-01-26 22:38:26 -0800\nEngine \xe2\x80\xa2 revision a67792536c\nTools \xe2\x80\xa2 Dart 2.7.0\n
Run Code Online (Sandbox Code Playgroud)\n\n

颤振医生

\n\n
[\xe2\x9c\x93] Flutter (Channel stable, v1.12.13+hotfix.7, on Mac OS X 10.15.2 19C57, locale en-GB)\n\n[\xe2\x9c\x93] Android toolchain - develop for Android devices (Android …
Run Code Online (Sandbox Code Playgroud)

sqlite dart background-fetch flutter

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

Flutter - onGenerateRoute 与 Await for auth Guard

我有一个包含多个页面的 Flutter 应用程序,有些页面需要用户登录才能访问该页面。

我遇到的主要问题是,kDashboardRoute我需要调用一个async方法来检查用户是否已登录并相应地设置bool isUserLoggedIn,但是,我无法调用此方法,因为它返回一个未来,我不能await用作该routes方法回不了一个未来。

请问有什么建议吗?

下面是我的 main.dart 类中的代码

Future<void> main() async {
  // run the app
  runApp(
    MaterialApp(
      title: kAppName,
      theme: ThemeData(
        primarySwatch: Colors.green,
        primaryColor: kPrimaryColour,
      ),
      onGenerateRoute: RouteGenerator.routes,
    ),
  );
}
Run Code Online (Sandbox Code Playgroud)

下面是我的路由文件中的代码

import 'package:flutter/material.dart';
import 'package:myapp/services/auth_service.dart';
import 'package:myapp/utilities/constants.dart';
import 'package:myapp/pages/login_page.dart';
import 'package:myapp/pages/two_step_verification.dart';
import 'package:myapp/pages/dashboard_page.dart';
import 'package:myapp/pages/error_page.dart';

class RouteGenerator {
  static Route<dynamic> routes(RouteSettings settings) {
    final args = settings.arguments;

    switch (settings.name) {
      case kLoginRoute:
        return MaterialPageRoute(builder: (_) => LoginPage()); …
Run Code Online (Sandbox Code Playgroud)

authentication routes flutter

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

Flutter - showDatePicker 将一周的第一天设置为星期一

我正在使用颤振showDatePicker小部件https://api.flutter.dev/flutter/material/showDatePicker.html

当日期选择器弹出窗口默认加载时,一周的开始是星期日,我想将其更改为星期一。

关于如何实现这一目标的任何建议?

Future<void> _selectDate(BuildContext context) async {
    final DateTime picked = await showDatePicker(
      context: context,
      initialDate: _selectedDate,
      firstDate: firstDate,
      lastDate: lastDate,
      locale: const Locale('en', 'GB'),
    );
    if (picked != null && picked != _selectedDate) {
      // update the calendar slider with new date
      setState(() {
        _selectedDate = picked.add(Duration(hours: 1));
      });
    }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

flutter

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

Flutter - 在 IOS 上使用 FCM 的后台通知

我正在尝试使用 Flutter 在 IOS 设备上接收静默/后台推送通知。我已经设法让它在 Android 上运行,只是 IOS 是问题所在。

设置-我使用的firebase_messaging 5.1.6插件-我已经打勾remote notifications,并background fetch在Xcode中,并同时启用的功能推送通知-推送通知与数据似乎做工精细

我的有效载荷(我尝试过使用和不使用数据)

{"registration_ids":["<IOS DEVICE IDS>"],"priority":"high","content_available":true,"mutable_content":true,"data":{"title":"Title.","body":"Message."}}
Run Code Online (Sandbox Code Playgroud)

我的firebase配置如下:

onBackgroundMessage设置为 null的原因是我收到以下错误:

Unhandled Exception: MissingPluginException(No implementation found for method FcmDartService#start on channel plugins.flutter.io/firebase_messaging)
Run Code Online (Sandbox Code Playgroud)
{"registration_ids":["<IOS DEVICE IDS>"],"priority":"high","content_available":true,"mutable_content":true,"data":{"title":"Title.","body":"Message."}}
Run Code Online (Sandbox Code Playgroud)

完全错误

2019-10-15 08:44:52.766262+0100 Runner[16132:1794539]  - <AppMeasurement>[I-ACS036001] Analytics screen reporting is disabled. UIViewController transitions will not be logged.
2019-10-15 08:44:52.909787+0100 Runner[16132:1794333] Metal API Validation Enabled
2019-10-15 08:44:53.173885+0100 Runner[16132:1794552] flutter: Observatory listening on http://127.0.0.1:58105/hC1vIwLgB_o=/
2019-10-15 08:44:53.294824+0100 Runner[16132:1794539] 6.9.0 - [Firebase/Analytics][I-ACS023007] Analytics …
Run Code Online (Sandbox Code Playgroud)

push-notification apple-push-notifications ios flutter

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

Flutter - 每次页面更改时运行一个函数

我想在每次页面更改时运行一个函数Flutter application

理想情况下,我不想在initState每个页面中调用此函数,因为有时人们可能会忘记在新页面中添加调用。

将其视为middleware- 基本上在页面加载之前等,需要运行一些代码。

更新代码以供审核

import 'package:flutter/material.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:myapp/pages/login_page.dart';
import 'package:myapp/pages/dashboard_page.dart';
import 'package:myapp/styles/constants.dart';
import 'package:myapp/services/auth_service.dart';

Future<void> main() async {
  // create a auth service instance
  AuthService authService = AuthService(secureStorage: FlutterSecureStorage());
  bool isLoggedIn = await authService.isUserLoggedIn();

  // run the app
  runApp(MyApp(
    isLoggedIn: isLoggedIn,
  ));
}

class MyApp extends StatefulWidget {
  final bool isLoggedIn;

  MyApp({this.isLoggedIn});

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> with RouteAware {
  final RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>(); …
Run Code Online (Sandbox Code Playgroud)

events broadcasting flutter

4
推荐指数
1
解决办法
1万
查看次数

在Flutter中绘制圆形菜单

我正在尝试绘制一个圆形菜单,如下图所示,但是我是 Flutter 新手,我不知道从哪里开始这样的操作。

我只会有 8 个和平,而不是图中所示的 12 个,它们都是链接,每个链接都指向应用程序的不同部分。

在中心灰色区域,我们将有短文本

flutter flutter-layout

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

Flutter - 在照片上绘制

我正在开发一个应用程序,允许用户拍照并使用不同大小的笔触和颜色在图像上绘制线条。

我已经使用该插件image_picker允许用户使用camera.

我目前陷入困境,因为我似乎无法找到一个解决方案,让我实现该功能以允许用户在图像上绘图。

请提出任何建议。

我试图从不同的应用程序实现的示例: 在此处输入图片说明

drawing canvas draw flutter

2
推荐指数
1
解决办法
7691
查看次数