2016-09-24 46 views
4

我正在尝试设置Firebase通知。我做了应用程序级别和根级别build.gradle的更改。但是,它仍然给我MyFirebaseMessagingService的清单中的错误。错误是未解决的类。如何在Manifest中设置Android Firebase通知?

<?xml version="1.0" encoding="utf-8"?> 

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

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 


     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <action android:name="com.google.firebase.MESSAGING_EVENT"/> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".s" /> 
    <activity android:name=".im" /> 
    <activity android:name=".Main2Activity" /> 
    <activity android:name=".sactivity" /> 
    <service 
     android:name=".MyFirebaseMessagingService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.MESSAGING_EVENT"/> 
     </intent-filter> 
    </service> 
    <activity 
     android:name=".ScrollingActivity" 
     android:label="@string/title_activity_scrolling" 
     android:theme="@style/AppTheme.NoActionBar"></activity> 
</application> 

+1

是MyFirebaseMessaginService实际上是一个类? –

+1

只是一个提示,升级到Android Studio 2.2;当您升级到工具> Firebase时,您可以设置任何应用程序,而无需添加任何类或依赖项,因为它将自行添加。只需转到工具> Firebase,从弹出的窗口中选择通知。然后按照他们在那里说的一切。 –

+0

不,我遵循https://firebase.google.com/docs/notifications/android/console-audience – coolamz

回答

5

看起来像Android清单文件无法找到MyFirebaseMessagingService类。我建议你把类的全限定包名称。请参阅下面的示例:

<service android:name="com.android.notification.MyFirebaseMessagingService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.MESSAGING_EVENT" /> 
     </intent-filter> 
    </service> 
+0

谢谢,我忘了它:( – user3542190

1

将它写在应用程序标记之后。这就是为什么它显示错误

<?xml version="1.0" encoding="utf-8"?> 
 

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

 
<application 
 
    android:allowBackup="true" 
 
    android:icon="@mipmap/ic_launcher" 
 
    android:label="@string/app_name" 
 
    android:supportsRtl="true" 
 
    android:theme="@style/AppTheme"> 
 
    <activity android:name=".MainActivity"> 
 
     <intent-filter> 
 
      <action android:name="android.intent.action.MAIN" /> 
 
      <action android:name="com.google.firebase.MESSAGING_EVENT"/> 
 
      <category android:name="android.intent.category.LAUNCHER" /> 
 
     </intent-filter> 
 
    </activity> 
 
    <activity android:name=".s" /> 
 
    <activity android:name=".im" /> 
 
    <activity android:name=".Main2Activity" /> 
 
    <activity android:name=".sactivity" /> 
 
    
 
    <activity 
 
     android:name=".ScrollingActivity" 
 
     android:label="@string/title_activity_scrolling" 
 
     android:theme="@style/AppTheme.NoActionBar"></activity> 
 
</application> 
 
    <service 
 
     android:name=".MyFirebaseMessagingService"> 
 
     <intent-filter> 
 
      <action android:name="com.google.firebase.MESSAGING_EVENT"/> 
 
     </intent-filter> 
 
    </service>

0

哦的原因!你还没有在这里创建任何java类,只需要解决它,因为| service |在默认情况下实例化为true。您应该让android:enabled="false",我认为这应该工作。见下面的详细代码。

<service android:enabled="false" android:name="MyFirebaseMessagingService"> 
     <intent-filter> 
      <action android:name="com.google.firebase.MESSAGING_EVENT"/> 
     </intent-filter> 
</service> 
0
<service android:name="com.fcm.MyFirebaseMessagingServices"> 
     <intent-filter> 
      <action android:name="com.google.firebase.MESSAGING_EVENT" /> 
     </intent-filter> 
    </service> 

    <service android:name="com.fcm.MyFirebaseInstanceIdServices"> 
     <intent-filter> 
      <action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> 
     </intent-filter> 
    </service>