gpt4 book ai didi

java - 启动服务后 Activity 挂起

转载 作者:行者123 更新时间:2023-11-29 22:05:48 26 4
gpt4 key购买 nike

我有一个服务器作为服务在安卓设备上运行。我希望用户输入客户号码,然后服务启动。除了将数据从 Activity 传递到 Service 之外,有没有更好的方法来解决这个问题?

此外,当我使用上述方法时,客户端似乎挂起并强制应用程序销毁。这是代码:

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 应该返回一个关于如何处理服务的预定义值。看起来你想要一个 START_NOT_STICKY因此,在 onStartCommand 的返回语句中,这就是您要返回的内容。即

return START_NOT_STICKY;

如果您想保存整数 a 以供服务中的其他地方使用,请创建一个全局变量并将其设置为等于 a。

请参阅 Android 服务文档 http://developer.android.com/reference/android/app/Service.html#START_CONTINUATION_MASK

关于java - 启动服务后 Activity 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10789101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com