0

我的服务正在运行,问题是在运行时它显示黑屏,直到服务完成。

Intent Service = new Intent();
Service.setClass(Activity.this,sendInformation.class);
Service.putExtra("IP",IP1); 
Service.putExtra("Port",Port1);
Activity.this.startService(Service);

我怎么能说“服务正在运行”回家?

4

2 回答 2

1

您在服务器中所做的事情发生在主线程上。尝试改用IntentService或尝试从服务器的 onStartCommand 跨越您自己的线程。通常 IntentService 很好。

于 2013-03-04T17:46:05.053 回答
1

Service文档中:

请注意,服务与其他应用程序对象一样,在其托管进程的主线程中运行。这意味着,如果您的服务要执行任何 CPU 密集型(例如 MP3 播放)或阻塞(例如网络)操作,它应该生成自己的线程来完成这项工作。

AsyncTask如果你想要多线程,只需创建一个。

于 2013-03-04T17:53:16.003 回答