首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序打开时没有显示通知栏的Firebase消息传递

应用程序打开时没有显示通知栏的Firebase消息传递
EN

Stack Overflow用户
提问于 2018-09-17 16:56:26
回答 2查看 7.2K关注 0票数 2

我试图测试我的应用程序,通过控制台发送通知的防火墙云消息,但当我的应用程序在前台或仍在运行。通知不会显示在设备中,并且将触发firebase消息传递服务中的日志。

但是,当我破坏我的应用程序时,通知很好地工作。

这是我的舱单

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.yehezkiel.eclassapp">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/eclass_logo1"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/eclass_logo1"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:replace="android:icon">


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

        <activity
            android:name=".LoginActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".MainActivity" />
        <activity android:name=".Tugas" />
        <activity
            android:name=".DetailActivity"
            android:label="@string/title_activity_detail"
            android:theme="@style/AppTheme" />
        <activity android:name=".NilaiActivity" />
        <activity android:name=".BaseActivity" />
        <activity android:name=".MateriActivity" />
        <activity android:name=".NilaiDetailActivity" />
        <activity android:name=".PesertaActivity"></activity>


    </application>
</manifest>

这是我的消防队

代码语言:javascript
复制
public class myFirebaseInstanceTokenID extends FirebaseMessagingService {


    private static final String TAG = "FirebaseMessagingServce";

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {

        if (remoteMessage.getData().size() > 0) {
            Log.e(TAG, "Message data payload: " + remoteMessage.getData());
        }
        Log.e(TAG, "Tidak ada Data");

    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-17 17:12:05

您正在观察的是通知类型消息是如何在Android上工作的。当您的应用程序在前台时,您将不会在托盘中看到通知。

阅读有关处理消息的文档理解所期望的。特别是查看“在摘要”框,它告诉您在应用程序的前景和背景状态之间消息处理是如何不同的。并不是说当你的应用程序在前台的时候,你只能期望你的消息会在onMessageReceived中被看到。如果需要的话,您可以自己在那里构造一个通知。

票数 7
EN

Stack Overflow用户

发布于 2018-09-17 17:12:47

当应用程序处于前台时,默认实现将不会显示通知。您需要自己处理onMessageReceived(...),并根据需要创建和显示通知。

来自文档

根据接收应用程序的前台/后台状态,Firebase通知的行为不同。如果您希望预先准备的应用程序接收通知消息或数据消息,则需要编写代码来处理onMessageReceived回调。有关通知和数据消息之间区别的解释,请参阅邮件类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52372511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档