【发布时间】:2013-10-12 20:15:59
【问题描述】:
我有一个从我的 mainActivity 调用的服务。
这里是 onStart 方法
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "onStartCommand service");
stopPolling = false;
startPolling();
return super.onStartCommand(intent, flags, startId);
}
现在,当我从主要活动启动此服务时,它会运行此方法。现在很明显,如果我要阻止我的 startPolling() 方法,它将不会返回,我的主要活动也不会响应。
我打算如何开始投票?我确信我错过了允许我阻止的 android 服务的一些简单方面。
编辑: 我刚刚在 android 网站上阅读,看来我错过了一个重要的句子: “如果您的服务要执行任何 CPU 密集型工作或阻塞操作(例如 MP3 播放或网络),您应该在服务中创建一个新线程来完成这项工作”。
我想我将不得不重新考虑我的计划......
【问题讨论】:
标签: android multithreading service android-service