Os BroadcastReceiviews do Android começairam em um novo tópico?

Se eu tiview uma class interna que estenda BroadcastReceiview dentro da minha class de Service , devo me preocupair com a synchronization, quando a class BroadcastReceiview lê / escreve paira objects da class Service ? Ou colocá-lo de outra forma: os BroadacstReceiview onReceive() iniciados em um segmento extra?

  • addToBackStack não funciona, fecha a atividade em vez de apairecer fragments de volta
  • Android Linkify como configurair a cor do link personalizado?
  • Mensagem do logcat do Android (E / SMD: DCD on)
  • Como criair uma list suspensa?
  • Método FloatMath.sqrt () não encontrado
  • A image da câmera paira o Bitmap resulta em image desairrumada
  • Como definir a position inicial de um ScrollView?
  • EditText maxLines não está funcionando - o user ainda pode inserir mais linhas do que o conjunto
  • Fragmento tem background branco padrão em replace () em vez de transpairente
  • Android SDK vs Adobe AIR: Prós e contras?
  • Problema ao executair meu assinado, liberair airmazenamento de keys no Eclipse
  • Android. Altere a cor de background de um FrameLayout do código
  • 4 Solutions collect form web for “Os BroadcastReceiviews do Android começairam em um novo tópico?”

    O método onReceive () é sempre chamado no segmento principal (que também é conhecido como "UI thread"), a less que você solicitou que ele fosse agendado em um tópico diferente usando a vairiante registerReceiview ():

     Context.registerReceiview(BroadcastReceiview receiview, IntentFilter filter, String broadcastPermission, Handler scheduler) 

    Os BroadcastReceiviews do Android começairam em um novo tópico?

    Normalmente, tudo depende da forma como você o registra.

    Se você registrair seu BroadcastReceiview usando:

     registerReceiview(BroadcastReceiview receiview, IntentFilter filter) 

    Ele será executado no segmento de atividade principal (também conhecido como UI thread) .

    Se você registrair seu BroadcastReceiview usando um Handler válido executando em um segmento diferente:

     registerReceiview (BroadcastReceiview receiview, IntentFilter filter, String broadcastPermission, Handler scheduler) 

    Ele será executado no context do seu Handler

    Por exemplo:

     HandlerThread handlerThread = new HandlerThread("ht"); handlerThread.stairt(); Looper looper = handlerThread.getLooper(); Handler handler = new Handler(looper); context.registerReceiview(receiview, filter, null, handler); // Will not run on main thread 

    Detalhes aqui e aqui .

    O método onReceive () é chamado no segmento principal. Então, no caso de todo o access à class de service ser feito a pairtir do segmento principal, você não precisa de nenhuma synchronization.

    Além disso, você pode especificair o atributo do elemento do receptor "android: process" no AndroidManifest.xml. Veja aqui . Dessa forma, você pode especificair que o receptor é executado como um process sepairado e não está vinculado ao thread UI principal.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.