从服务启动应用程序(flatter:Android)
我在Flitter中创建了一个插件,用来显示聊天头,就像Facebook Messenger一样。从聊天头,我必须打开特定的屏幕。我不知道如何从我的广播接收器启动颤振应用程序。到目前为止,我有以下代码:从服务启动应用程序(flatter:Android),android,flutter,Android,Flutter,我在Flitter中创建了一个插件,用来显示聊天头,就像Facebook Messenger一样。从聊天头,我必须打开特定的屏幕。我不知道如何从我的广播接收器启动颤振应用程序。到目前为止,我有以下代码: private BroadcastReceiver createReceiver(final EventChannel.EventSink eventSink){ return new BroadcastReceiver() { @Override publi
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);
}
}
};
}
private BroadcastReceiver createReceiver(final EventChannel.EventSink EventSink){
返回新的广播接收器(){
@凌驾
公共void onReceive(上下文、意图){
Bundle b=intent.getExtras();
如果(b!=null){
HashMap data=(HashMap)b.getSerializable(KEY_数据);
boolean showhenlocked=data.get(“锁定时显示”)==null?false:(boolean)data.get(“锁定时显示”);
如果(选中时显示){
if(Build.VERSION.SDK\u INT>=Build.VERSION\u code.O\u MR1){
mActivity.setShowWhenLocked(true);
mActivity.setTurnScreenOn(真);
}否则{
Window Window=mActivity.getWindow();
addFlags(WindowManager.LayoutParams.FLAG\u discover\u KEYGUARD);
window.addFlags(WindowManager.LayoutParams.FLAG在锁定时显示);
添加标志(WindowManager.LayoutParams.FLAG\u打开屏幕);
}
}
Log.d(“ChatHeadPlugin”,“BroadcastReceiver onReceive for eventSink:+数据”);
eventSink.success(数据);
}
}
};
}
首先,我想在这里启动应用程序主活动。如果可能的话,我想用“锁定时显示”的可能性来启动它 我可以通过以下方式从Android启动颤振活动: