com.parse.fcm.ParseFirebaseInstanceIdService'无法分配给'android.app.Service'[duplicate]

问题描述 投票:1回答:1

此问题已经在这里有了答案:

[首先,我看了this帖子和this帖子,问了类似的问题,但是它们似乎都无法解决我遇到的问题。

我想做什么?

我正在使用解析服务器将应用程序从Google Cloud Messaging升级到Firebase Cloud Messaging。有一些关于此的教程(我正在使用this one),所有教程都指定您需要在清单中添加以下行:

<service
    android:name="com.parse.fcm.ParseFirebaseInstanceIdService"
    android:exported="true">
    <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
    </intent-filter>
</service>

怎么了?

但是,如果这样做,我会收到错误com.parse.fcm.ParseFirebaseInstanceIdService'无法分配给'android.app.Service] >>。我似乎找不到任何有关如何解决此问题的资源,或者根本就没有收到任何消息的问题。

我的项目gradle文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
        google()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        classpath 'com.google.gms:google-services:4.3.3'  // Google Services plugin
    }
}
allprojects {
    repositories {
        google()
    }
}

和我的模块gradle文件:


android {
    compileSdkVersion 28
    lintOptions {
        abortOnError false
    }

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true
    }

    testOptions {
        unitTests.returnDefaultValues = true
    }
}

buildscript {
    repositories {
        mavenCentral()
        google()
    }
}

repositories {
    mavenCentral()
    google()
    jcenter()
    maven {
        url "https://s3.amazonaws.com/repo.commonsware.com"
    }
    maven {
        url 'https://jitpack.io'
    }
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
    maven {
        url 'https://jitpack.io'
    }
    google()
}

dependencies {
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'androidx.multidex:multidex:2.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.code.gson:gson:2.8.1'
    implementation 'com.mcxiaoke.volley:library:1.0.19'
    implementation 'com.parse:parse-android:1.17.3'
    implementation 'com.parse:parse-fcm-android:1.17.3' // Firebase cloud messaging
    implementation 'com.google.firebase:firebase-core:17.2.1'
    implementation 'com.google.firebase:firebase-messaging:20.0.1'
    implementation 'com.github.mtotschnig:stickylistheaders:2.7.1'
    testImplementation 'junit:junit:4.12'
    testImplementation 'org.mockito:mockito-core:1.10.19'
}

apply plugin: 'com.google.gms.google-services' // Google Play services Gradle plugin 

任何想法出了什么问题以及如何解决?

首先,我看了这篇文章和这篇文章,提出了类似的问题,但是它们似乎都无法解决我遇到的问题。我想做什么?我正在从...

android parse-platform firebase-cloud-messaging android-manifest
1个回答
0
投票

山Asaduzzaman的回答很有帮助,谢谢。

只需添加,请确保在自定义FirebaseMessagingService中重写onNewToken()方法,就像this教程中一样。 (我刚刚找到了该教程,并认为如果其他人也遇到同样的问题,最好将其共享)。

© www.soinside.com 2019 - 2024. All rights reserved.