Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.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
Java 在后台运行应用程序_Java_Android - Fatal编程技术网

Java 在后台运行应用程序

Java 在后台运行应用程序,java,android,Java,Android,我试图在Android中启动GroomDroid web服务器,但当它启动时,会显示一个黑色窗口 我想在后台启动此应用程序,而不显示屏幕 我正在以以下方式启动此应用程序: Intent webServer = new Intent(); webServer.setClassName("net.allory.groom","net.allory.groom.GroomDroid"); startActivity(webServer); 我还尝试了startService(webServer)但

我试图在Android中启动GroomDroid web服务器,但当它启动时,会显示一个黑色窗口

我想在后台启动此应用程序,而不显示屏幕

我正在以以下方式启动此应用程序:

Intent webServer = new Intent();
webServer.setClassName("net.allory.groom","net.allory.groom.GroomDroid");
startActivity(webServer);
我还尝试了
startService(webServer)但它似乎不起作用

有人能帮我吗

Lince

看起来像模拟器。如果您正在使用eclipse,请转到“运行配置…”,并将“启动操作”更改为“不执行任何操作”

您是否希望应用程序始终无头


Frank

您应该将后台逻辑移动到服务,并在服务运行时创建持续通知

选择该通知将启动您的活动(ui),服务可以使用处理程序将其数据传递给它

另外,如果您将活动的
启动模式
指定为
单个任务

<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>

在应用程序启动时,检查您的服务是否已经运行(假设您已经启动了应用程序,现在再次按下其图标),您将能够启动相同的任务,而不是重新启动服务和/或显示任何内容


这个解释可能不太清楚,如果您需要更多详细信息,请告诉我:)

Hi Frank,我没有使用eclipse,只是一个文本编辑器。你知道在你告诉我的代码中会有什么变化吗?是的,我想在后台从我的应用程序运行服务器,然后我会将用户发送到某个url。您是否尝试在清单xml中注释掉主屏幕的?如果我注释掉了,我会得到未安装的错误应用程序(现在正在emulator/sdk中尝试)。顺便说一句,我忘了提到我正在使用phonegap。无论如何,我将采取不同的方法。感谢您的帮助Frank:)一个
活动
代表一个用户界面,不能在后台启动。如果需要进行后台处理,则必须编写
服务