FCM通知

  • 在AndroidManifest.xml配置

         //...
        
        <service
            android:name=".messaging.MyFirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            intent-filter>
        service>
        
				//...
  • 点击通知栏后,会回调onNewIntent(),配置如下
<activity android:name=".activity.CloudMessagingActivity"
          android:launchMode="singleTask"> 
          <intent-filter>
             <action android:name="android.intent.action.MAIN"/>
             <category android:name="android.intent.category.LAUNCHER"/>
          intent-filter>
activity>
  • 获取到值的方法
override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    setIntent(intent)
    processIntent()
		// 打印intent.extras 获取到的值可能会是Bundle[mParcelledData.dataSize=1316], 直接当成Map循环解开就可以
    var bundles = intent.extras

    // 此处解析实际值
    if(bundles != null) {
        for (key in bundles.keySet()) {
            val value: Any? = bundles.get(key)
            Log.d(tag, "${key} ${value.toString()}"
            )
        }
    }
}

你可能感兴趣的:(Android,android,FCM)