收到推送通知后如何触发操作[关闭]

Posted

技术标签:

【中文标题】收到推送通知后如何触发操作[关闭]【英文标题】:How to trigger an action once the push notification is received [closed] 【发布时间】:2020-09-13 22:37:30 【问题描述】:

我想使用 java 构建一个 android 应用程序。我将使用 GCM 发送推送通知。但是,我不确定我们是否可以使用推送通知作为触发器。所以我想做这样的事情:

如果收到来自另一台设备的推送通知, 使布尔值为真, 使用此布尔值并触发操作。

我只是想知道这是否可能。我还没有开始写代码。谢谢。

【问题讨论】:

【参考方案1】:

是的,您应该使用 FCM 作为Google deprecated GCM。

使用 FCM,您可以接收通知并在您的设备中触发操作。

您需要在清单中注册服务:

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

然后创建扩展FirebaseMessagingService 的类MyFirebaseMessagingService 并覆盖onMessageReceived 方法:

@Override
public void onMessageReceived(RemoteMessage remoteMessage) 
    Log.d(TAG, "From: " + remoteMessage.getFrom());

    // Check if message contains a data payload.
    if (remoteMessage.getData().size() > 0) 
        Log.d(TAG, "Message data payload: " + remoteMessage.getData());
    

    // Check if message contains a notification payload.
    if (remoteMessage.getNotification() != null) 
        Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
    

    // Trigger any actions that you want.

更多信息,请查看official documentation。

【讨论】:

以上是关于收到推送通知后如何触发操作[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

触发推送通知-实现特定对象[关闭]

如何在后台捕获由推送通知触发的 iOS 位置?

从推送通知触发操作

如何在发送推送通知期间关闭计算机时处理 Quartz 触发器

苹果手机如何阻止app的推送通知?

Xamarin.iOS - 设备关闭时推送通知