Как получить данные уведомления FCM, когда приложение не в задании или убито? - PullRequest
0 голосов
/ 31 октября 2018

Мне нужно получить данные из уведомлений FCM в Android и сохранить их локально, но проблема в том, что я могу сделать это только тогда, когда приложение находится на переднем плане, а затем вызывается onMessageRecieved или когда пользователь нажимает на уведомление. Я хочу получать данные уведомления, когда пользователь получает уведомление и приложение не запущено, даже в фоновом режиме или на переднем плане. Пожалуйста, предложите что-нибудь. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Вы можете использовать BroadcastReceiver

public class FirebaseDataReceiver extends BroadcastReceiver {

    private final String TAG = "FirebaseDataReceiver";

    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        if (bundle != null) {
            Set<String> keys = intent.getExtras().keySet();

            for (String key : bundle.keySet()) {
                Object value = bundle.get(key);
                // You can use key and values here
            }
        }
    }
}

Manifest.xml

<application>

    ............

    <receiver
        android:name="PackageName.FirebaseDataReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        </intent-filter>
    </receiver>

    ............

</application>
0 голосов
/ 31 октября 2018

Используя консоль FCM, вы можете отправлять только уведомления. Уведомления могут обрабатываться методом onMessageReceived в специализированном приложении и доставляться в системный трей устройства в фоновом приложении. Пользователь нажимает на уведомление, и по умолчанию приложение запускается. если вы хотите обрабатывать уведомления в каждом состоянии приложения, вы должны использовать сообщение с данными и метод onMessageReceived.

Подробнее см. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...