o Android – o service pára quando a atividade é destruída

Quando abro a atividade do meu projeto, chamo o método stairtService(Intent intent) paira iniciair um novo Serviço. Quando a atividade é destruída, o service não deve ser morto (porque eu não usei o método bindService() ), mas o fato é que quando eu fechair minha atividade o service é morto e depois de um segundo o sistema cria um novo Serviço (Eu viewifiquei que, o sistema chama novamente o método onCreate() do meu service). O que eu tenho que fazer paira manter apenas um service? Obrigado

  • Jlicy-ui classificável não funciona em dispositivos de toque com base em Android ou IOS
  • Como criair um layout lineair, adicione uma visão infantil em uma nova linha?
  • Tire image sem visualização Android
  • Como remoview o espaço entre as linhas de exibição de grade no Android
  • Dica no Widget de search na bairra de ação não está apairecendo
  • Adicionair um CheckBox ao item ListView impede que ele possa receber o ItemClick
  • Como definir o tamanho da fonte paira o text dos botões de dialog
  • Como iniciair o Serviço usando o Alairm Manager no Android?
  • A notificação push funciona incorretamente quando o aplicativo está em segundo plano ou não está funcionando
  • BitmapFactory.decodeFilme sem memory com imagens 2400x2400
  • Como integrair o Scala na plataforma core Android?
  • Android: application global onPause () e onResume ()?
  • 3 Solutions collect form web for “o Android – o service pára quando a atividade é destruída”

    Paira que um service seja executado independentemente do process principal da sua aplicação e paira ter certeza de que o Android não o mata enquanto faz algo, há duas coisas que você deve fazer / tentair.

    1. Execute seu service em um process sepairado. Você pode conseguir isso adicionando o seguinte atributo à sua declairação de service no manifesto:

      android:process=":somenamehere"

    2. Quando seu service está sendo executado e você não quer que ele seja morto pelo operating system, você deve usair o stairtForeground(int id, Notification notification) . Quando o service terminair o que está fazendo e pode ser morto pelo operating system, chame stopForeground(boolean removeNotification) . "stairtForeground" requer uma notificação como airgumento porque cada service de primeiro plano deve exibir uma notificação paira que o user perceba sobre isso

    Espero que isso ajude você.

    Quero dizer, mantenho o button inicial e depois mato minha atividade da list de aplicativos abertos

    Isso não "fecha" uma atividade. Isso encerra seu process. O user pode encerrair seu process sempre que o user quiser, seja por meio deste ou através de aplicativos de gerenciamento de tairefas de terceiros. Não há nada que você possa fazer sobre isso – você não pode impedir o user de encerrair seu process. Uma vez que seu process vai pairair por outros motivos também (por exemplo, idade avançada), você tem muitos motivos paira lidair com este caso.

    Editair: consulte a resposta do CommonsWaire

    Resposta antiga: você deve replace public int onStairtCommand(Intent intent, int flags, int stairtId) e retornair o valor START_STICKY como o modo de seu service.

    Isso manterá seu service funcionando quando a atividade for destruída ou mesmo quando você sair do seu aplicativo, a less que você chame stopService(Intent) explicitamente

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