gpt4 book ai didi

android - 我调试了 startActivity 传递的行,但表单不显示

转载 作者:太空狗 更新时间:2023-10-29 13:59:00 24 4
gpt4 key购买 nike

我的 friend 我有一个程序,其中包含一项服务,该服务不断检查是否从服务器接收到消息。

当消息到来时,服务运行 showMessage Activity ,消息显示在该表单中。

showMessage Activity 有 2 个按钮,分别为 Ok 和 Cancel,当单击 Ok 然后启动 MainActivity(这有两个状态:1-如果 web 已经在 mainActivity 中并且即将有新消息,在这个状态下不需要再次启动 MainActivity 并且只启动 showMessage actvitiy。 2- 如果用户程序因服务运行而关闭,则显示 showMessage 表单,然后按 OK 按钮转到 mainActivity 表单。

现在是我这一集中的问题。当应用程序关闭并且消息出现并单击“确定”按钮并进入我的 showMessage 表单时,此后该表单将不会显示。 很酷,我调试了 startActivity passes 的行,但表单不显示。在您看来,问题是什么?我没有得到我寻求帮助的时间的原因。

这是我的showNewMessage方法是MyService.class

public static  void showNewMessage(boolean ShowMode) {
if (IsNewTxtMsg || ShowMode) {

IsNewTxtMsg = false;
ShowMode=false;

if (GlobalsVariabel.ShowRecievedMessageActivityIsShowing == false) {

Intent intent = new Intent(act,
ShowRecievedMessageActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

PublicMethod.wakeUpScreen(act);
PublicMethod.unLockPhone(act);
act.startActivityForResult(intent, 1);
}


}
}

注意: IsNewTextMsg 是在收到新消息时在服务中设置为 true 的字段,并且使用 true 参数调用方法 showNewMessage 。

最佳答案

我解决了我的问题。我发现当我在 mainActivity 处于前台时调用 start ShowRecievedMessageActivity 时,我没有向 Intent 添加标志。所以正确的代码是:

public static  void showNewMessage(boolean ShowMode) {
if (IsNewTxtMsg || ShowMode) {

IsNewTxtMsg = false;
// ShowMode=false;

if (GlobalsVariabel.ShowRecievedMessageActivityIsShowing == false) {

Intent intent = new Intent(act,
ShowRecievedMessageActivity.class);
PublicMethod.wakeUpScreen(act);
PublicMethod.unLockPhone(act);

if(isMainActivityOnTop)
act.startActivityForResult(intent, 1);
else
{
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
act.startActivityForResult(intent, 1);
}


}


}
}

关于android - 我调试了 startActivity 传递的行,但表单不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37225087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com