【问题标题】:how to starting blocking in an android service如何在android服务中开始阻塞
【发布时间】: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


    【解决方案1】:

    我打算如何开始投票?

    嗯,轮询通常被认为是最后的编程技术。理想情况下,找到一些事件驱动的方法来找出您想要找出的任何内容。

    除此之外,分叉一个线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-25
      • 2016-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      相关资源
      最近更新 更多