Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android活动出人意料地反复启动_Android_Android Activity - Fatal编程技术网

android活动出人意料地反复启动

android活动出人意料地反复启动,android,android-activity,Android,Android Activity,在我的应用程序中,我有一个简单的按钮,可以启动第二个活动,启动一个微调器(如果相关的话),并执行一些http连接工作。第二个活动也可以由运行和侦听蓝牙连接的服务启动 问题不是发生在我的milestone(2.1-update1)手机上,而是发生在运行2.3的同事手机上。当他们按下按钮启动第二个活动(完全忽略服务部分)时,它将多次启动该活动,当他们按下第二个屏幕上的返回按钮时,他们将进入第二个屏幕的另一个实例,而不是返回第一个活动 我提到服务部分有两个原因,第一个原因是当我实现服务时,这个问题开始

在我的应用程序中,我有一个简单的按钮,可以启动第二个活动,启动一个微调器(如果相关的话),并执行一些http连接工作。第二个活动也可以由运行和侦听蓝牙连接的服务启动

问题不是发生在我的milestone(2.1-update1)手机上,而是发生在运行2.3的同事手机上。当他们按下按钮启动第二个活动(完全忽略服务部分)时,它将多次启动该活动,当他们按下第二个屏幕上的返回按钮时,他们将进入第二个屏幕的另一个实例,而不是返回第一个活动

我提到服务部分有两个原因,第一个原因是当我实现服务时,这个问题开始发生,第二个是因为我有一个单独的问题,客户端在服务端没有得到正确的管理,所以当第二个活动通过服务而不是按钮启动时,我会看到这种行为。由于消息被发送到所有客户机(应该只有一个客户机),我看到服务引发了第二个活动的多次启动。但再次按下按钮,已修复的服务问题不应负责

现在,我已经准备好两件事来防止这种情况再次发生。我已经将第二个活动标记为singleTask(android:launchMode=“singleTask”),并注意到我一直将第二个活动作为startActivityForResult启动,但当它返回时,我没有设置或使用它。这并没有导致任何错误或任何事情,但我将其更改为一个简单的startActivity

我无法实际访问另一部电话,因此无法将其连接到logcat或其他任何东西,因为它位于其他地方的另一个办公室


另一部手机不再看到问题,但我担心我隐藏了问题,而不是真正解决了问题,我想知道是否有人能提供一些见解?

我以前遇到过一个问题,不同的手机在启动服务时表现出不同的症状。有些人会多次重新启动(终止并启动)服务,而其他人则不会。我猜是因为你朋友的手机多次重启服务,所以每次重启时你的活动都会被呼叫

试试这个,你能在你的服务中显示通知吗?如果是,请:

startForeground(ID_NOTIFICATION, notification);

这使得该服务始终在前台运行,并且不太可能被android杀死

我确实使用该方法在服务中显示通知,我也使用了set前台(true);但logcat说它忽略了它,我还是把它移除了以防万一。但我不相信这项服务会被杀。