如何修复在应用程序运行时不显示通知的问题?

我制作了一个已实现Firebase的测试应用程序,我正在使用Firebase的Notifications Composer,它可以正常运行,但未达到预期的效果,因为该通知仅在该应用程序处于非活动状态(在屏幕上)时显示,并且我需要它即使应用处于活动状态且正在运行,也会显示

MainActivity.java

package com.gci.gestioncapteursincendie;

import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.TextView;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.InstanceIdResult;

public class MainActivity extends AppCompatActivity {

    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView= findViewById(R.id.textViewToken);
        FirebaseInstanceId.getInstance().getInstanceId()
                .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
                    @Override
                    public void onComplete(@NonNull Task<InstanceIdResult> task) {
                      if(task.isSuccessful()){
                          String token = task.getResult().getToken();
                          System.out.println("token:"+token);
                          textView.setText("Token : " + token);
                        }
                        else
                      {
                          textView.setText("Token Not Generated");
                      }
                    }
                });
    }

}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.gci.gestioncapteursincendie">

    <!-- Granting Internet access permission to app -->
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name="com.gci.gestioncapteursincendie.FirebaseActivity"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <service
            android:name=".FirebaseMessagingServiceExtended"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

编辑:添加清单

山姆

关闭应用程序后,您的通知将由Google服务流程处理,该流程将根据需要显示您的通知,包括默认的点击操作(打开应用程序)和通知图标。

当应用程序处于前台时,接收到的消息将由应用程序处理,并且由于没有逻辑来处理它,因此什么也不会发生!

您可以创建一个FirebaseMessagingService实现的自定义onMessageReceived然后在其中创建通知。

public class NotificationService extends FirebaseMessagingService { 
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);
    Notification notification = new NotificationCompat.Builder(this)
     .setContentTitle(remoteMessage.getNotification().getTitle())
     .setContentText(remoteMessage.getNotification().getBody())
     .setSmallIcon(R.mipmap.ic_launcher)
     .build();

    NotificationManagerCompat manager = NotificationManagerCompat.from(getApplicationContext());
    manager.notify(some_int_number (eg : 123), notification);
   }
 }

并将其添加到清单文件中

<service android:name=”.NotificationService”>
  <intent-filter>
    <action android:name=”com.google.firebase.MESSAGING_EVENT”/>
  </intent-filter>
</service>

另外,请确保您在清单文件中授予适当的权限。实施完重试后,您应该在应用程序处于前台时看到通知。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在应用程序运行时如何在通知栏中显示“解析推送通知”?

来自分类Dev

如何修复运行时不显示的活动

来自分类Dev

wpf 应用程序运行时不显示按钮图像

来自分类Dev

在应用程序运行时显示来自推送通知的弹出窗口

来自分类Dev

应用程序未运行时的iBeacon通知

来自分类Dev

在应用程序运行时接收通知

来自分类Dev

应用程序未运行时的BLE通知

来自分类Dev

应用程序运行时推送通知

来自分类Dev

在应用程序运行时接收通知

来自分类Dev

如何使用Windows操作系统修复Ruby on Rails应用程序的运行时错误?

来自分类Dev

如何在应用程序被杀死而不在 IOS 后台运行时获取通知负载

来自分类Dev

控制台应用程序运行时问题

来自分类Dev

应用程序在后台运行时的问题

来自分类Dev

控制台应用程序运行时问题

来自分类Dev

闪亮的应用程序-在本地运行时显示数据表,但在发布时不显示

来自分类Dev

用Xcode 5开发的iPhone应用程序在iPad上运行时不显示图标和启动图像

来自分类Dev

当应用程序第二次运行时,不显示我的欢迎屏幕

来自分类Dev

当我们的应用程序快速运行时,检测显示在 iOS 设备屏幕上的推送通知

来自分类Dev

运行时应用程序

来自分类Dev

我如何知道要显示或不显示通知的Android应用程序的应用程序状态?

来自分类Dev

运行flutter运行时,在flutter应用程序上存在问题

来自分类Dev

当应用程序在后台运行时,从通知中打开片段

来自分类Dev

应用程序在前台运行时收到iOS推送通知

来自分类Dev

当应用程序在后台运行时,推送通知FCM不会出现

来自分类Dev

在外部应用程序完全运行时获取通知-Java

来自分类Dev

从启动应用程序运行时,使用通知发送的脚本拒绝

来自分类Dev

当应用程序在后台运行时,Android通知不会扩展

来自分类Dev

当应用程序在后台运行时,Firebase通知数据不回调didReceiveRemoteNotification

来自分类Dev

应用程序未运行时的远程推送通知崩溃

Related 相关文章

  1. 1

    在应用程序运行时如何在通知栏中显示“解析推送通知”?

  2. 2

    如何修复运行时不显示的活动

  3. 3

    wpf 应用程序运行时不显示按钮图像

  4. 4

    在应用程序运行时显示来自推送通知的弹出窗口

  5. 5

    应用程序未运行时的iBeacon通知

  6. 6

    在应用程序运行时接收通知

  7. 7

    应用程序未运行时的BLE通知

  8. 8

    应用程序运行时推送通知

  9. 9

    在应用程序运行时接收通知

  10. 10

    如何使用Windows操作系统修复Ruby on Rails应用程序的运行时错误?

  11. 11

    如何在应用程序被杀死而不在 IOS 后台运行时获取通知负载

  12. 12

    控制台应用程序运行时问题

  13. 13

    应用程序在后台运行时的问题

  14. 14

    控制台应用程序运行时问题

  15. 15

    闪亮的应用程序-在本地运行时显示数据表,但在发布时不显示

  16. 16

    用Xcode 5开发的iPhone应用程序在iPad上运行时不显示图标和启动图像

  17. 17

    当应用程序第二次运行时,不显示我的欢迎屏幕

  18. 18

    当我们的应用程序快速运行时,检测显示在 iOS 设备屏幕上的推送通知

  19. 19

    运行时应用程序

  20. 20

    我如何知道要显示或不显示通知的Android应用程序的应用程序状态?

  21. 21

    运行flutter运行时,在flutter应用程序上存在问题

  22. 22

    当应用程序在后台运行时,从通知中打开片段

  23. 23

    应用程序在前台运行时收到iOS推送通知

  24. 24

    当应用程序在后台运行时,推送通知FCM不会出现

  25. 25

    在外部应用程序完全运行时获取通知-Java

  26. 26

    从启动应用程序运行时,使用通知发送的脚本拒绝

  27. 27

    当应用程序在后台运行时,Android通知不会扩展

  28. 28

    当应用程序在后台运行时,Firebase通知数据不回调didReceiveRemoteNotification

  29. 29

    应用程序未运行时的远程推送通知崩溃

热门标签

归档