問題タブ [flutter-method-channel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5164 参照

android - Flutter Method Channel をバックグラウンドで使用する方法 (アプリを最小化 / 閉じた状態)

Flutter アプリでネイティブの Android ウィジェットに取り組んでいます。更新ボタンがあり、それをクリックすると、Flutter コードでメソッドを呼び出す必要があります。通信に Flutter Method Channel を使用していますが、アプリがフォアグラウンドの場合は正常に動作しています。ただし、アプリを最小化または閉じている場合は機能しません。エラーPlatformException(NO_ACTIVITY, null, null)が発生します。以下は私のコードです。

Android (AppWidgetProvider)

フラッター

0 投票する
0 に答える
1270 参照

flutter - フラッター メソッド チャネル エラー。{ 未処理の例外: MissingPluginException (チャネル バッテリのメソッド getBatteryLevel の実装が見つかりません) }

だから私は「https://flutter.dev/docs/development/platform-integration/platform-channels?tab=android-channel-java-tab」からすべてをフォローしましたが、デバイスのフローティングボタンをクリックすると、このエラーが表示されます.

Main.dart:-

MainActivity.java:-

私はフラッターに慣れていません。また、何が起こっているのか説明してもらえますか

コードのこの部分。ありがとうございました。

0 投票する
2 に答える
610 参照

android - バックグラウンドで Android から Dart を呼び出す方法

アクティビティがバックグラウンドにあるとき、またはアクティビティがまったくないときに、Android から Dart コードを呼び出そうとしています。たとえば、alarmmanager がトリガーされたとき。

これは私のダーツコードです:

Java から:

channel私のメインアクティビティから初期化される静的変数です。

これは、アクティビティがフォアグラウンドにあるときに機能します。しかし、バックグラウンドにあるときは、次の通知を受け取ります。FlutterView.send called on a detached view, channel=mychannel

呼び出しは実行されません。バックグラウンドで Android から Dart を呼び出すにはどうすればよいですか?

編集

私のユースケースは純粋に Android のユースケースです。これは基本的に次の流れです。

  1. alarmmanager が起動し、ブロードキャスト イベントが受信されます。Dit はライブラリなしでネイティブに実行されます。これは主に、アプリがアクティブでないときに発生します。
  2. ブロードキャストレシーバーで、Firebase からいくつかのデータを読み取り、通知を設定します。
  3. Firebase からのデータに基づいて新しいアラームをスケジュールします。

flutter/dart 内では、Firebase からデータを取得するためのビジネス ロジックを既に取得しています。明らかに、私はそのすべてを再び書きたくありませんが、今は Java で書きます。

私は、alarmmanager プラグインとローカル通知プラグインを使用したくありません。どちらも異なる分離で実行され、問題が発生するためです。

0 投票する
0 に答える
297 参照

android - プラットフォーム チャネルを使用して、ネイティブ Android からフラッターにデータを取得できませんか?

以下をコンソールに出力します

最初の行は、MainActivity.kt で println() を使用して印刷されます。2 行目は、フラッターで print() を使用して印刷されます。

Kotlin の songList.size と flutter の songList.length を使用して、リストの長さを取得しようとさえしました。Kotlin では 14 を示し、 flutter では 1464 を示しています。私が知っていることの1つは、result.success(songsList)を送信しても、フラッターがリスト全体を取得していないことです。ここにKotlinとフラッターのコードがあります

フラッター

0 投票する
0 に答える
72 参照

android - Flutter Viewを使用してネイティブAndroidでスナックバーを作成するにはどうすればよいですか

問題

Flutter アプリでネイティブ Android コードを使用して Snackbar を作成しようとしています。ただし、ネイティブ Android でスナックバーを作成するには、ビューを取得する必要があります (ビューを必要とするスナックバーを作成するためのパラメーターのため)、私のネイティブ Android コードはアクティビティ レイアウトを拡張しないため (代わりにバックグラウンド サービスを使用します)、ビューを取得することはできません。 .

本質的に、ネイティブ Android コードで Snackbar を作成する (つまり、フラッター ビューを取得する) にはどうすればよいでしょうか?

言い換えれば、ネイティブ Android バックグラウンド サービスを介してフラッター アプリで Snackbar を作成するにはどうすればよいでしょうか?

私の解決策の試み:

を使用して getFlutterView() を使用できます

import io.flutter.app.FlutterActivity

ただし、プラグインはこのインポートでは生成されません。むしろ使ってる

import io.flutter.embedding.android.FlutterActivity;

Javaで生成されたプラグインを使用できる唯一の方法のようです(Kotlinでプログラミングしていないため)。このインポートには「getFlutterView()」機能がないようです。