Android,FireBase云消息传递,(FCM)

时间:2016-09-24 11:07:25

标签: android push-notification

我正在使用带有数据消息传递功能的FCM,并且可以处理前台和后台通知,但是当重新启动手机或应用程序被终止时无法接收它们(通过在任务管理器中滑动来终止任务)。

1 个答案:

答案 0 :(得分:0)

清单:

 <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.tadad.firebasetestDOUBLE">
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />

        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

        <application
            android:name="com.example.tadad.firebasetestDOUBLE.AndroidApplication"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity
                android:name="com.example.tadad.firebasetestDOUBLE.MainActivity"
                android:label="@string/app_name"
                android:theme="@style/AppTheme.NoActionBar">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <!-- Notification -->
            <service
                android:name="com.example.tadad.firebasetestDOUBLE.notification.SomeInstanceIDListenerService">
                <intent-filter>
                    <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
                </intent-filter>
            </service>
            <service
                android:name="com.example.tadad.firebasetestDOUBLE.notification.SomeFirebaseMessagingService">
                <intent-filter>
                    <action android:name="com.google.firebase.MESSAGING_EVENT" />
                </intent-filter>
            </service>
        </application>

    </manifest>

代码:

public class SomeFirebaseMessagingService extends FirebaseMessagingService {

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        int a = 4;

        sendNotification("Smth", "Receive please!");

    }
}
public class SomeInstanceIDListenerService extends FirebaseInstanceIdService {

    @Override
    public void onTokenRefresh() {
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        sendRegistrationToServer(refreshedToken);
    }

    private void sendRegistrationToServer(String token) {
        // TODO: Implement this method to send token to your app server.
    }
}