开发者社区> 问答> 正文

我想问下通知类的我该怎么做?我需要拿到extras额外的参数做逻辑?

你好,EMAS的RN例子中只有消息的回调 ae3d6b9a5cf656907fdb62877a18f1d5.png 我想问下通知类的我该怎么做?我需要拿到extras额外的参数做逻辑?

展开
收起
真的很搞笑 2023-03-21 15:23:40 154 0
2 条回答
写回答
取消 提交回答
  • 您好,您可以通过以下步骤来获取通知类的额外参数:

    1. MainActivity 中,在 onMessageReceived 方法中添加以下代码:
    if (message.getData() != null) {
        // 获取额外参数
        Bundle extras = message.getData();
        String extra1 = extras.getString("extra1");
        String extra2 = extras.getString("extra2");
    
        // 使用额外参数进行逻辑处理
        // ...
    }
    
    1. AndroidManifest.xml 中,在 <application> 标签中添加以下代码:
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_channel_id"
        android:value="@string/default_notification_channel_id" />
    
    1. strings.xml 中,添加以下代码:
    <string name="default_notification_channel_id">default_notification_channel</string>
    
    1. build.gradle 中,添加以下代码:
    dependencies {
        implementation 'com.google.firebase:firebase-messaging:20.2.1'
    }
    
    1. AndroidManifest.xml 中,添加以下代码:
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    
    1. AndroidManifest.xml 中,添加以下代码:
    <service
        android:name=".MyFirebaseMessagingService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    
    1. MyFirebaseMessagingService.java 中,添加以下代码:
    public class MyFirebaseMessagingService extends FirebaseMessagingService {
    
        @Override
        public void onMessageReceived(RemoteMessage remoteMessage) {
            // ...
        }
    
    }
    
    1. AndroidManifest.xml 中,添加以下代码:
    <receiver
        android:name=".MyBroadcastReceiver"
        android:exported="false">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
    
    1. MyBroadcastReceiver.java 中,添加以下代码:
    public class MyBroadcastReceiver extends BroadcastReceiver {
    
        @Override
        public void onReceive(Context context, Intent intent) {
            // ...
        }
    
    }
    
    1. AndroidManifest.xml 中,添加以下代码:
    <service
        android:name=".MyJobIntentService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    
    1. MyJobIntentService.java 中,添加以下代码:
    public class MyJobIntentService extends JobIntentService {
    
        @Override
        protected void onHandleWork(@NonNull Intent intent) {
            // ...
        }
    
    }
    
    1. AndroidManifest.xml 中,添加以下代码:
    <service
        android:name=".MyIntentService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    
    1. MyIntentService.java 中,添加以下代码:
    public class MyIntentService extends IntentService {
    
        public MyIntentService() {
            super("MyIntentService");
        }
    
        @Override
        protected void onHandleIntent(@Nullable Intent intent) {
            // ...
        }
    
    }
    
    1. AndroidManifest.xml 中,添加以下代码:
    <service
        android:name=".MyService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
    
    1. MyService.java 中,添加以下代码:

    ```java
    public class MyService extends Service {

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // ...
    
    2024-02-29 17:45:36
    赞同 展开评论 打赏
  • GitHub https://github.com/co63oc/cloud

    移动推送Android SDK:透传消息+用户自建通知最佳实践 https://help.aliyun.com/document_detail/434789.html

    2023-03-24 18:00:39
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
基于阿里巴巴以及合作伙伴的最佳实践,围绕大前端、云原生领域的相关技术热点(小程序、Serverless、应用中间件、低代码、DevOps)展开行业探讨,与开发者一起探寻云原生时代应用研发的新范式。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载