我是 firebase 控制台发送通知。它直接向系统托盘发送通知。我想在用户点击它们时从它们那里获取有效负载。
当您的应用程序在后台运行时,Android 会将通知消息定向到系统托盘。默认情况下,用户点击通知会打开应用程序启动器。
这包括包含通知和数据负载的消息(以及从通知控制台发送的所有消息)。在这些情况下,通知将传递到设备的系统托盘,并且数据负载将在启动器活动的意图的附加内容中传递。
https://firebase.google.com/docs/notifications/android/console-audience
我能够获取从控制台发送的通知 如何从我的意图之外获取通知负载?
android android-intent firebase firebase-cloud-messaging firebase-notifications
我正在尝试设置Android手机从服务器接收通知的系统:对于此任务,我们选择了Firebase.虽然应用程序在后台运行,但一切正常:在我从firebase控制台推送消息后,系统托盘上会显示一条消息,并且在用户单击消息后,Intent会向其发送一条额外的数据Activity.
当应用程序已经处于前台时,我的问题是唯一的.该火力点通知是相当清楚的:如果应用程序是在前台,无论哪个类型的邮件服务器发送,OnMessageReceived不会被调用 ...那么,为什么它不能与我的简单的应用程序?一些注意事项可以帮助您解决此问题:
您可以在下面找到所有使用的源代码:
主要活动
package it.bagozi.ada.tutorial.firebase;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private static final String TAG = MainActivity.class.getSimpleName();
private TextView notification;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.notification = (TextView) this.findViewById(R.id.notification_setter);
Intent i = this.getIntent();
Log.e(TAG, "Intent from Activity caller: " + i);
if (getIntent().getExtras() != null) {
for (String key : getIntent().getExtras().keySet()) …Run Code Online (Sandbox Code Playgroud) android firebase firebase-cloud-messaging firebase-notifications
我正在从 FCM 通知中获取 JSON 格式的数据。它具有基于通知类型的不同格式,如下所示:
格式 1:accept_request:
{
"alert": "Accept Request By driver",
"title": "Accept Request By driver",
"booking_id": "247",
"notification_type": "accept_request"
}
Run Code Online (Sandbox Code Playgroud)
格式 2:end_request:
{
"alert": "End trip By driver",
"title": "End trip By driver",
"booking_id": "247",
"notification_type": "end_request",
"servicesList": [
{
"service_id": "1",
"service_name": "Services1",
"status": "true",
"sub_category": [
{
"sub_cat_id": "1",
"sub_cat_name": "Doctors on call",
"service_cost": "15.00",
"service_cat_id": "1",
"cost": 0
}
],
"is_multiple_choose": "0",
"total_cost": 15
}
}
Run Code Online (Sandbox Code Playgroud)
我已经创建CommonNotificationBean.java为 POJO 类。我已经成功解析了accept_request.
它的工作是因为所有键都有字符串值并且 …
我想根据设备的语言向设备发送通知。我的第一个想法是为服务器端可用的每个区域设置创建推送,并让 Firebase 完成所有调度工作。
但为此我需要为每次推送设置区域设置。
我还没有找到任何可用的参数,所以我想知道我是否正确或者是否需要更改我的设计。如果我必须这样做,我该怎么办?