Java 活动在启动服务后挂起
我有一台服务器作为Java 活动在启动服务后挂起,java,android,android-service,android-activity,Java,Android,Android Service,Android Activity,我有一台服务器作为服务运行在android设备上。我希望用户输入客户端号码,然后服务启动。有没有更好的方法来处理这个问题,而不是将数据从活动传递到服务 此外,当我使用上述方法时,客户端似乎挂起并强制应用程序销毁。代码如下: String a = clients.getText().toString(); Bundle bundle = new Bundle(); bundle.putCharSequence("NumberOfClients", a); Intent int
服务运行在android设备上。我希望用户输入客户端号码,然后服务启动。有没有更好的方法来处理这个问题,而不是将数据从活动传递到服务
此外,当我使用上述方法时,客户端似乎挂起并强制应用程序销毁。代码如下:
String a = clients.getText().toString();
Bundle bundle = new Bundle();
bundle.putCharSequence("NumberOfClients", a);
Intent intent = new Intent(Manage.this, Server.class);
intent.putExtras(bundle);
Log.d("hi", a);
startService(intent);
这是服务器:
@Override
public void onCreate()
{
Thread server = new Thread(new ServerThread());
server.start();
}
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
Bundle bundle = new Bundle();
bundle = intent.getExtras();
numberofclients = (String) bundle.getCharSequence("NumberOfClients");
int a = Integer.parseInt(numberofclients);
return a;
}
当我按下按钮连接到服务器时,客户端挂起。为什么会发生这种情况?onStartCommand应该返回一个关于如何处理服务的预定义值。
看起来你想要的是一个开始,而不是黏糊糊的
所以在onStartCommand中的return语句中,这就是您要返回的内容。i、 e
return START_NOT_STICKY;
如果要保存整数a以在服务中的其他位置使用,请创建一个全局变量并将其设置为a
请参阅服务上的Android文档
记录、跟踪或调试,看看会发生什么