Пользовательский FirebaseMessagingService игнорируется - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь добавить подкласс FirebaseMessagingService в приложение Android, чтобы получать токены устройств, но служба не создается.

Вот услуга:

package com.company.AppName;

import android.util.Log;

import com.google.firebase.messaging.FirebaseMessagingService;

public class AppFirebaseMessagingService extends FirebaseMessagingService {
  private static final String TAG = "AppFbMessagingService";

  public AppFirebaseMessagingService() {
    Log.d(TAG, "created");
  }

  @Override
  public void onNewToken(String token) {
    Log.d(TAG, "Refreshed token: " + token);
    NativeApp.shared().setDeviceToken(token);
  }
}

И мой манифест с сервисной декларацией:

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.0" package="com.company.AppName" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application android:hardwareAccelerated="true" android:icon="@mipmap/icon" android:label="@string/app_name" android:supportsRtl="true">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <provider android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true" android:name="org.apache.cordova.camera.FileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/camera_provider_paths" />
        </provider>
        <service android:enabled="true" android:name="com.company.AppName.LocationListenerService" android:permission="android.permission.BIND_JOB_SERVICE" />
        <service
            android:name="com.company.AppName.AppFirebaseMessagingService" android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>
    </application>
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="26" />
</manifest>

Это единственные журналы, связанные с Firebase, которые я вижу при запуске приложения:

D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization.
    com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization.
I/FirebaseInitProvider: FirebaseApp initialization successful

Ни один из журналов в AppFirebaseMessagingService не вызывается. Я пытался заменить android:name="com.company.AppName.AppFirebaseMessagingService" на android:name="AppFirebaseMessagingService" и удалить android:exported="false".

1 Ответ

0 голосов
/ 06 сентября 2018

Начал работать, когда я работал на реальном устройстве вместо эмулятора. Не имеет никакого смысла, учитывая, что работал в эмуляторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...