Я создал плагин во Flutter, чтобы показывать заголовки чата, как это делает Facebook Messenger. Из чата я должен открыть специальный экран c. Я не знаю, как запустить приложение flutter из моего BroadcastReceiver. Пока у меня есть этот код:
private BroadcastReceiver createReceiver(final EventChannel.EventSink eventSink){
return new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle b = intent.getExtras();
if(b != null) {
HashMap<String, Object> data = (HashMap<String, Object>) b.getSerializable(KEY_DATA);
boolean showWhenLocked = data.get("SHOW_WHEN_LOCKED") == null ? false : (boolean) data.get("SHOW_WHEN_LOCKED");
if(showWhenLocked) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
mActivity.setShowWhenLocked(true);
mActivity.setTurnScreenOn(true);
} else {
Window window = mActivity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}
}
Log.d("ChatheadsPlugin", "BroadcastReceiver onReceive intent for eventSink: " + data);
eventSink.success(data);
}
}
};
}
Во-первых, я хочу запустить здесь основное действие приложения. И если есть возможность, я хочу запустить его с возможностью SHOW_WHEN_LOCKED!