标签: flutter-plugin

检查Flutter应用程序上是否有可用的Internet连接

我有一个网络电话要执行.但在此之前,我需要检查设备是否具有互联网连接.

这是我到目前为止所做的:

  var connectivityResult = new Connectivity().checkConnectivity();// User defined class
    if (connectivityResult == ConnectivityResult.mobile ||
        connectivityResult == ConnectivityResult.wifi) {*/
    this.getData();
    } else {
      neverSatisfied();
    }
Run Code Online (Sandbox Code Playgroud)

以上方法不起作用.

dart flutter flutter-plugin

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

无法获取已安装模拟器运行时的列表

我正在使用 macOS 并且正在安装 flutter。当我跑到“flutter doctor”时,我遇到了类似的错误

\n
    Doctor summary (to see all details, run flutter doctor -v):\n[\xe2\x9c\x93] Flutter (Channel stable, 3.13.5, on macOS 13.6 22G120 darwin-arm64, locale\n    tr-TR)\n[\xe2\x9c\x93] Android toolchain - develop for Android devices (Android SDK version 34.0.0)\n[!] Xcode - develop for iOS and macOS (Xcode 15.0)\n    \xe2\x9c\x97 Unable to get list of installed Simulator runtimes.\n[\xe2\x9c\x93] Chrome - develop for the web\n[\xe2\x9c\x93] Android Studio (version 2022.3)\n[\xe2\x9c\x93] Connected device (2 available)\n[\xe2\x9c\x93] Network resources\n
Run Code Online (Sandbox Code Playgroud)\n

我不知道为什么。这个错误的根源是什么?

\n

flutter flutter-dependencies flutter-plugin

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

如何手动将 .xcframework 添加到 Flutter iOS 插件?

我正在尝试创建一个 Flutter 插件来使用本机库。我尝试使用的这个库存储在私有存储库中,可以与 Swift 依赖管理器一起使用。

这让我很头痛,因为我无法在我的插件中添加私有存储库依赖项(我找不到在 .podspec 文件中执行此操作的方法),所以我做了什么:

  1. 我已使用 Swift Package Manager 将插件添加到示例项目中
  2. 手动复制MyDependency.xcframework文件夹到MyPlugin/ios文件夹
  3. 在 podspec 文件中引用它,如下所示:
s.preserve_paths = 'MyDependency.xcframework'
s.xcconfig = { 'OTHER_LDFLAGS' => '-framework MyDependency' }
s.vendored_frameworks = 'MyDependency.xcframework'
Run Code Online (Sandbox Code Playgroud)

这样做我可以在插件的源代码中使用 MyDependency 。

我当前的问题是:这仅适用于 Simulator

在此之前,该项目在真实设备上运行没有任何问题。

这是我每次尝试在真实设备中运行时收到的错误消息: 在此输入图像描述

另外,我直接使用 Swift 依赖管理器中的依赖项进行了测试,并且运行良好。我认为问题在于我将框架添加到插件的方式。

在此输入图像描述

podspec flutter podfile flutter-plugin flutter-ios

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

如何在sputter中为现有项目启用Swift支持

我想知道是否有办法为flutter项目提供快速支持.我只在创建项目时启用了Kotlin支持.我也需要启用Swift.是否有我可以执行的命令或者我可以启用Android平台的flutter插件中的任何设置,或者是否有在Xcode中启用的选项?

这是我想要做的,但对于现有的Flutter项目

这是我想要做的,但对于现有的Flutter项目

swift flutter flutter-plugin

15
推荐指数
4
解决办法
3760
查看次数

参数类型“PointerEvent”无法分配给参数类型“PointerDownEvent”

最近我更新到了 flutter 2.5 和最新的 androids studio,并尝试将我的 flutter 项目编译到 android 设备。Android studio 向我抛出以下错误。如果我flutter run在终端中写入,则编译到 Android 设备没有问题。

猜测这肯定和android studio有关。我尝试降级到较早的 android studio 版本,但问题仍然存在。

我不确定这是什么插件,它看起来不像我在项目中使用的任何插件。

编辑:如果我将 flutter 从 2.5 降级到 2.0,我的项目将再次编译。所以问题出在flutter 2.5之内

Launching lib/main.dart on Android SDK built for x86 in debug mode...
Running Gradle task 'assembleDebug'...
../plugins/flutter/.pub-cache/hosted/pub.dartlang.org/photo_view-0.11.1/lib/src/core/photo_view_gesture_detector.dart:106:29: Error: The argument type 'PointerEvent' can't be assigned to the parameter type 'PointerDownEvent'.
 - 'PointerEvent' is from 'package:flutter/src/gestures/events.dart' ('../plugins/flutter/packages/flutter/lib/src/gestures/events.dart').
 - 'PointerDownEvent' is from 'package:flutter/src/gestures/events.dart' ('../plugins/flutter/packages/flutter/lib/src/gestures/events.dart').
    super.addAllowedPointer(event);
Run Code Online (Sandbox Code Playgroud)

gradle dart flutter flutter-plugin

15
推荐指数
1
解决办法
8906
查看次数

从原生Android主屏幕小部件调用Flutter(Dart)代码

我在Flutter应用程序中添加了原生Android主屏幕小部件.

在我的AppWidgetProvider实现中,我想onUpdate()使用平台通道在我的方法中调用dart代码.

这可能吗?如果是这样,怎么能实现呢?

我目前的Android(Java)代码:

package com.westy92.checkiday;

import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.util.Log;

import io.flutter.plugin.common.MethodChannel;
import io.flutter.view.FlutterNativeView;

public class HomeScreenWidget extends AppWidgetProvider {

    private static final String TAG = "HomeScreenWidget";
    private static final String CHANNEL = "com.westy92.checkiday/widget";

    private static FlutterNativeView backgroundFlutterView = null;
    private static MethodChannel channel = null;

    @Override
    public void onEnabled(Context context) {
        Log.i(TAG, "onEnabled!");
        backgroundFlutterView = new FlutterNativeView(context, true);
        channel = new MethodChannel(backgroundFlutterView, CHANNEL);
    }

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, …
Run Code Online (Sandbox Code Playgroud)

android android-widget dart flutter flutter-plugin

13
推荐指数
2
解决办法
1264
查看次数

在flutter插件中获取活动参考

我创建flutter插件的时候,插件类中默认有两个方法:

override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding)
Run Code Online (Sandbox Code Playgroud)

fun registerWith(registrar: Registrar)
Run Code Online (Sandbox Code Playgroud)

对文件的评论说: It is encouraged to share logic between onAttachedToEngine and registerWith to keep them functionally equivalent. Only one of onAttachedToEngine or registerWith will be called depending on the user's project. onAttachedToEngine or registerWith must both be defined in the same class.

现在,我需要从这里开始另一项活动,使用activity.startActivityForResult(). 可以在registerWith(registrar: Registrar)使用中获得对活动的引用registrar.activity()。我怎样才能在方法中做到这一点onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding)

flutter flutter-plugin flutter-platform-channel

10
推荐指数
2
解决办法
4174
查看次数

Flutter插件:从Android BroadcastReceiver发送数据到Flutter代码

我正在开发一个 Flutter 插件(仅适用于 Android),当设备连接到特定的蓝牙设备时,它会自动执行 Flutter 任务。

以下是我在插件的Android端所做的事情:

  1. 在清单中,我注册了一个BroadcastReceiver监听蓝牙事件的函数。
<receiver android:name=".BluetoothBroadcastReceiver">
    <intent-filter>
        <action android:name="android.bluetooth.device.action.ACL_CONNECTED" />
        <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
        <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
    </intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
  1. 在我的“FlutterPlugin”类中,我初始化EventChannel并设置了StreamHandler. 然后,我保留的函数EventSink中提供的的引用。这允许我将数据从插件的 Android 端发送到插件的 Flutter 端。onListenStreamHandler
class BluetoothPlugin : FlutterPlugin {

    override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
        EventChannel(flutterPluginBinding.binaryMessenger, "event_channel_bluetooth_event")
            .setStreamHandler(object : StreamHandler {

                override fun onListen(arguments: Any?, eventSink: EventChannel.EventSink) {
                    BluetoothPlugin.eventSink = eventSink
                }

                override fun onCancel(arguments: Any?) {}

        })
    }

    companion object {
        var eventSink: EventChannel.EventSink? = …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver flutter flutter-plugin

10
推荐指数
1
解决办法
2031
查看次数

Flutter 是否有可能在文本上添加图像?

我一直在寻找使用图像作为背景的可能性Text我长期以来

文字剪切效果有点相似,但这不是我真正想要的东西。

事实上,我想要这样的东西。 在此输入图像描述

是否存在任何 Dart 包?谁能帮我提供一个想法或解决方案?

flutter flutter-plugin

10
推荐指数
1
解决办法
1302
查看次数

将普通的 Android 库添加到 Flutter 插件

这可能是这个问题的重复。但它没有答案,我将在这里提供一些细节。

我在我的 Flutter 插件的 android 项目中创建了一个带有File->New Module->Android Library 的模块。现在我有一个如下结构:

|-my_plugin
  |-android
    |-settings.gradle
    |-build.gradle
    |-mylibrary
      |-build.gradle
Run Code Online (Sandbox Code Playgroud)

/android/settings.gradle:

rootProject.name = 'my_plugin'
include ':mylibrary'
Run Code Online (Sandbox Code Playgroud)

/android/build.gradle

...
dependencies {
  implementation project(':mylibrary')
}
Run Code Online (Sandbox Code Playgroud)

当我使用flutter build apkflutter run构建示例插件项目(由 Flutter CLI 自动创建)时,出现此错误:

Project with path ':mylibrary' could not be found in project ':my_plugin'.
Run Code Online (Sandbox Code Playgroud)

有什么建议?

android-gradle-plugin flutter flutter-plugin

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