gpt4 book ai didi

android - 是否可以在新线程中启动服务?

转载 作者:行者123 更新时间:2023-11-29 01:46:45 26 4
gpt4 key购买 nike

如果我在 onCreate() MyService 中使用这段代码,它会在新线程中启动还是会在主线程中启动?

new Thread(new Runnable() {

@Override
public void run() {
startService(new Intent(this, MyService.class));
}
});

对不起,如果它很明显,但我是 android 的初学者。我研究了很多,但没有发现任何确定的东西。谢谢

最佳答案

我希望它在 UI 线程中运行,除非你在服务中创建了一个新的线程......但是你可以确认服务在不同的线程或 UI 线程中运行,比如

ActivityonCreate()中启动Service

    new Thread("myThread"){
public void run() {
Intent intent = new Intent(MainActivity.this, MyService.class);
startService(intent);
};
}.start();

并在服务的 onCreate() 中测试线程名称...

public class MyService extends Service {

@Override
public void onCreate() {
super.onCreate();
String name = Thread.currentThread().getName();
if(name.equals("myThread")) {
// service started in new Thread...
}
}

@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
}

关于android - 是否可以在新线程中启动服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20996379/

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