我在Android上使用Firebase云消息传递。
我的清单中有以下内容:
<service android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".MyInstanceIdService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
这是文档有关扩展FirebaseMessagingService的内容:
如果您想要在后台接收应用上的通知而不想进行任何消息处理,则需要这样做。
“在后台接收应用通知之外的消息处理”并不完全清楚它们的含义。我只能假设他们正在谈论在应用关闭时处理消息。
非常感谢任何帮助。
答案 0 :(得分:6)
如果强制停止某个应用,则在重新启动应用之前,您不会收到任何通知。在重新启动应用程序之前,您的所有代码都无效。
该应用的所有服务也将停止,直到用户再次手动启动该应用
答案 1 :(得分:1)
问题在于你的后端。请参阅this回答。当消息包含df['total number'] = df.number1.mul(df.number2, fill_value=0).div(100)
print (df)
number1 number2 total number
0 400.0 90.0 360.000
1 35.5 50.0 17.750
2 678.0 3.4 23.052
3 NaN 5.2 0.000
对象时,仅当应用程序是前台时才调用onMessageReceived。所以你必须只使用notification
个对象。例如:
data
这适用于所有情况。
答案 2 :(得分:1)
要使用API发送消息,您可以使用名为AdvancedREST客户端的工具。
{ "data": {
"image": "https://ibin.co/2t1lLdpfS06F.png",
"message": "Firebase Push Message Using API"
"AnotherActivity": "True" },"to" : "f25gYF3***********************HLI"}
答案 3 :(得分:0)
在清单活动中添加操作,如下所示:
echo $completestring | grep -o "[0-9][0-9]*" | wc -l
echo $completestring | grep -o "[a-zA-Z][a-zA-Z]*" | wc -l
在发送通知服务器中添加click_action(我的示例是PHP)
<activity
android:name=".ActivityFCM"
android:screenOrientation="sensor"
android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="AnyNameYouWant" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
答案 4 :(得分:-1)
使用此方法是您的MainActivity的onCreate方法
if (getIntent().getExtras() != null) {
// I Wrote here.
Intent intent = new Intent(MainActivity.this, NotificationActivity.class);
startActivity(intent);
}