我正在使用 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 方法)。