如何从后端推送通知打开屏幕?

时间:2021-01-12 13:52:44

标签: android flutter dart backendless

我正在使用 Backendless 推送通知服务,并且在我的设备上收到通知。无后端推送通知接受一个参数,该参数是我想在按下通知时打开的活动的名称。 但我正在使用 Dart,在 android 类中,只有 MainActivity,假设我在按下通知时创建了一个新活动,新活动将打开,并且设备屏幕变黑,因为显示了一个空活动.

package com.example.example;

import io.flutter.app.FlutterActivity;
import android.util.Log;
import android.os.Bundle;

public class SecondActivity extends FlutterActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.i( "TAG","activity created");
    }
}

现在在 Backendless 推送通知文档中,我可以覆盖一个方法,该方法将在收到通知时调用。这是我创建的类,每当从 Backendless 发送推送通知时,我都会在 onMessage 方法中接收它:

package com.example.example;

import com.backendless.push.BackendlessFCMService;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class PickAppFCMService extends BackendlessFCMService {
    private static final String TAG = BackendlessFCMService.class.getSimpleName();

    @Override
    public boolean onMessage(Context appContext, Intent msgIntent) {
        String action=msgIntent.getStringExtra("action");
        Log.i( TAG,"notification received");
        return true;
    }
}

这样,有两个问题,首先是每当收到通知时这项工作,我需要的是按下通知。第二个问题,在解决了第一个问题之后,如何在按下通知时将屏幕推送到dart上的导航器。

我想达到的目标: 点击从 Backendless 收到的通知,在 dart 中打开一个特定的屏幕(可能运行一个包含 Navigator.push(...) 的 dart 方法)。

0 个答案:

没有答案