Is it safe to start a new thread in a BroadcastReceiver?
<p>I need to perform a network operation in a <code>BroadcastReceiver</code>. </p>

<p>So far I achieve it by starting a new thread:</p>

<pre><code>@Override
public void onReceive(Context context, Intent intent) {
    new Thread(new Runnable() {
        public void run() {
            // network stuff...
        }
    }).start();
}
</code></pre>

<p>Is there any risk that the process will be killed before the thread is done?</p>

<p>Is it better to use an <code>IntentService</code> instead? Any other better approach?</p>