Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序关闭时推送通知不工作-颤振_Android_Flutter_Push Notification - Fatal编程技术网

Android 应用程序关闭时推送通知不工作-颤振

Android 应用程序关闭时推送通知不工作-颤振,android,flutter,push-notification,Android,Flutter,Push Notification,当应用程序关闭时,我的Android不会收到Firebase的推送通知,但如果我打开应用程序,一切都会正常工作。以下是我的主要活动: package com.imperio.app import io.flutter.embedding.android.FlutterActivity class MainActivity: FlutterActivity() { } 我的颤振: void configure() { _firebaseMessaging.requestNotific

当应用程序关闭时,我的Android不会收到Firebase的推送通知,但如果我打开应用程序,一切都会正常工作。以下是我的主要活动:

package com.imperio.app

import io.flutter.embedding.android.FlutterActivity

class MainActivity: FlutterActivity() {
}
我的颤振:

void configure() {
    _firebaseMessaging.requestNotificationPermissions();

    _firebaseMessaging.configure(
      onLaunch: (params) {
        _bloc.onEventChanged(DispatchLaunch(params));
        return null;
      }, 
      onMessage: (params) {
        _bloc.onEventChanged(DispatchMessage(params));
        return null;
      }, 
      onResume: (params) {
        _bloc.onEventChanged(DispatchLaunch(params));
        return null;
      }
    );  
  }
当应用程序打开时,我通常会收到通知。我看到一些人改变了DemainActivity,但在嵌入v2之后,Google文档对此却只字不提

我在Android清单中添加了单击的通知:

  <intent-filter>
      <action android:name="FLUTTER_NOTIFICATION_CLICK" />
      <category android:name="android.intent.category.DEFAULT" />
  </intent-filter>


这个问题发生在安卓10上,我在安卓8设备上进行了测试,它可以正常工作。

在Flatters firebase messaging文档中,您必须添加

 <intent-filter>
  <action android:name="FLUTTER_NOTIFICATION_CLICK" />
  <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
在AndroidManifest.xml中设置应用程序的name属性。这通常可以在/android/app/src/main/中找到

<application android:name=".Application" ...>

能否请您提供有关您的代码的更多信息。从技术上讲,不需要为通知配置任何其他功能。一旦我遇到同样的问题,但将minSdkVersion从16更改为21解决了错误,我不知道这是否适用于您,但值得尝试将其更改为21,但我还是有同样的问题。如果我的应用程序是打开的,但没有关闭。我有一个错误:使用应用程序java:PluginRegistry的类型无法转换为FlatterEngine生成的PluginRegistrAt.registerWith(registry);^检查此链接现在出现此错误(我改为FirebaseMessagingPlugin.registerWith而不是GeneratedPluginRegistrAt):无法实例化活动组件信息{com.imperio.app/com.imperio.app.Application}:java.lang.ClassCastException:com.imperio.app.Application无法强制转换为android.app.Activity您应该在Applications.java中执行此操作,而不是在MainActivity.java中,并逐步遵循程序包的规定。当然,我的应用程序在应用程序终止时不会收到正常通知。此配置用于在应用程序打开时处理后台通知。我试着像文档中所说的那样做背景通知,但也不起作用。
<application android:name=".Application" ...>