我正在尝试在Android中启动GroomDroid Web服务器,但是当它启动时,会显示一个黑色窗口。
我想在后台启动此应用,但不会显示该屏幕。
我以下列方式启动此应用程序:
Intent webServer = new Intent();
webServer.setClassName("net.allory.groom","net.allory.groom.GroomDroid");
startActivity(webServer);
我也尝试使用startService(webServer);
,但它似乎无效。
有人可以帮我吗?
答案 0 :(得分:1)
您应该将后台逻辑移动到服务,并在运行时创建持续通知。
选择该通知应该启动您的活动(ui),并且服务可以使用处理程序将其数据传递给它。
另外,如果您将活动的launchMode
指定为singleTask
:
<activity android:name=".activity.YourActivity"
android:launchMode="singleTask"
android:alwaysRetainTaskState="true"
android:clearTaskOnLaunch="false"
android:finishOnTaskLaunch="false">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
并在应用程序启动时检查您的服务是否已经运行(假设您已启动应用程序,现在再次按下其图标),您将能够启动相同的任务,而不是重新启动您的服务和/或什么都不显示。
这个解释可能不太清楚,如果您需要更多详细信息,请告诉我们。)
答案 1 :(得分:0)
林塞,
看起来像模拟器。如果您正在使用eclipse,请转到“运行配置...”并将“启动操作”更改为“无所事事”
你想让应用永远无头吗?
弗兰克