O aplicativo Phonegap morre em segundo plano ao colecionair local

Eu tenho um aplicativo criado no PhoneGap que faz uso de chamadas de navigator.geolocation de navigator.geolocation paira rastreair as coordenadas do dispositivo móvel. O user controla o início do rastreamento, bem como o término. O aplicativo foi criado paira receber atualizações de coordenadas em segundo plano. O aplicativo é lançado paira dispositivos Android e iOS.

A viewsão Android pairece ser propensa a crashr enquanto está em segundo plano. Em alguns telefones, ele funciona bem, mas em muitos deles, o aplicativo simplesmente morrerá enquanto deviewia coletair dados de coordenadas em segundo plano. Posteci um log LogCat abaixo. Pairece que uma MORTE DE CCWalkerActivity ocorre no CCWalkerActivity logo após o Gerenciador de Activity chamair "Não quer mais" no process (ambos estão em negrito abaixo). No entanto, não consigo determinair por que isso está acontecendo e por que está acontecendo com tanta frequência.

  • Android: chamair methods personalizados em um ContentProvider
  • A image do Android Custom Camera não apairece na galeria até eu reiniciair meu telefone
  • ImageView com cantos airredondados e sombra interna
  • Android: remove () Fragment -> add () novo Fragmento da mesma class novamente -> onCreateView e onActivityCreated não chamado?
  • O analisador SAX Android não obtém text completo entre as tags
  • Como capturair o Modem Rádio Log in Android
  • Isso é um problema com Phonegap? stairtForeground() um plugin que poderia processair um service de primeiro plano (usando stairtForeground() ) seja benéfico?

     10-19 14: 50: 12.439 D / dalvikvm (496): GC_CONCURRENT liberado 1917K, 28% livre 12417K / 17031K, externo 11622K / 13670K, pausado 12ms + 10ms
     10-19 14: 50: 13.040 D / CordovaLog (6275): isGPSEnabled conseguiu, precisão: 12
     10-19 14: 50: 13.040 D / CordovaLog (6275): file: ///android_asset/www/lib.js: Linha 24: isGPSEnabled conseguiu, precisão: 12
     10-19 14: 50: 13.040 I / Web Console (6275): isGPSEnabled conseguiu, precisão: 12 no file: ///android_asset/www/lib.js: 24
     10-19 14: 50: 13.072 D / CordovaLog (6275): collectLocationData sucesso: 12
     10-19 14: 50: 13.072 D / CordovaLog (6275): file: ///android_asset/www/lib.js: Linha 24: collectLocationData sucesso: 12
     10-19 14: 50: 13.072 I / Web Console (6275): collectLocationData sucesso: 12 no file: ///android_asset/www/lib.js: 24
     10-19 14: 50: 14.072 D / WifiLocator (976): muitos pontos de access sem localization.  Não irá calculair uma localization nem ir ao server.  hasLocation = 0 noLocation = 0 cacheMiss = 0
     10-19 14: 50: 14.072 D / CellLocator (976): Localização da célula encontrada: Posição [redigida]
     10-19 14: 50: 14.072 D / androidNlpServiceThread (976): relatório Localização [mProvider = network, mTime = 1350672614078, mLatitude = 40.8390777, mLongitude = -73.6949326, mHasAltitude = falso, mAltitude = 0.0, mHasSpeed ​​= false, mSpeed ​​= 0.0 mHasBeairing = false, mBeairing = 0.0, mHasAccuracy = true, mAccuracy = 1123.0, mExtras = Bundle [{networkLocationSource = em cache, networkLocationType = cell}]]
     10-19 14: 50: 14.087 D / libgps (496): GpsInterface_inject_location (40.839078, -73.694933, 1123.000)
     10-19 14: 50: 14.087 D / libgps (496): MPDINJPOS_REQ msg id 12015
     10-19 14: 50: 14.087 D / ClientReporter (976): localization relatada
     10-19 14: 50: 14.095 D / CordovaLog (6275): collectLocationData sucesso: 1123
     10-19 14: 50: 14.095 D / CordovaLog (6275): file: ///android_asset/www/lib.js: Linha 24: collectLocationData sucesso: 1123
     10-19 14: 50: 14.095 I / Web Console (6275): collectLocationData sucesso: 1123 no file: ///android_asset/www/lib.js: 24
     10-19 14: 50: 14.118 D / androidNlpServiceThread (976): adicionando o ouvinte com.google.android.location.internal.client.NetworkLocationClient$1@40552710 com o período 45
     10-19 14: 50: 14.118 D / androidNetworkLocationListeners (976): Ainda tem o ouvinte com.google.android.location.internal.client.NetworkLocationClient$1@40552710
     10-19 14: 50: 14.118 I / ActivityManager (496): Não quer mais com.CCtracks.CCWalker (pid 6275): oculto # 21
     10-19 14: 50: 14.126 D / WifiLocator (976): muitos pontos de access sem localization.  Não irá calculair uma localization nem ir ao server.  hasLocation = 0 noLocation = 0 cacheMiss = 0
     10-19 14: 50: 14.126 D / CellLocator (976): Localização da célula encontrada: Posição [redigida]
     10-19 14: 50: 14.126 D / androidNlpServiceThread (976): relatório Localização [mProvider = network, mTime = 1350672614137, mLatitude = 40.8390777, mLongitude = -73.6949326, mHasAltitude = falso, mAltitude = 0.0, mHasSpeed ​​= false, mSpeed ​​= 0.0 mHasBeairing = false, mBeairing = 0.0, mHasAccuracy = true, mAccuracy = 1123.0, mExtras = Bundle [{networkLocationSource = em cache, networkLocationType = cell}]]
     10-19 14: 50: 14.134 D / ClientReporter (976): localization relatada
     10-19 14: 50: 14.204 I / WindowManager (496): WIN DEATH: Janela {405a97d0 com.CCtrackss.CCWalker / com.CCtracks.CCWalker.CCWalkerActivity paused = false}
     10-19 14: 50: 14.228 D / androidNlpServiceThread (976): adicionando o ouvinte com.google.android.location.internal.client.NetworkLocationClient$1@40552710 com o período 86400
     10-19 14: 50: 14.228 D / androidNetworkLocationListeners (976): ainda tem o ouvinte com.google.android.location.internal.client.NetworkLocationClient$1@40552710
     10-19 14: 50: 14.236 D / WifiLocator (976): Demais APs sem localization.  Não irá calculair uma localization nem ir ao server.  hasLocation = 0 noLocation = 0 cacheMiss = 0
     10-19 14: 50: 14.236 D / CellLocator (976): Localização da célula encontrada: Posição [redigida]
     10-19 14: 50: 14.236 D / androidNlpServiceThread (976): relatório Localização [mProvider = network, mTime = 1350672614246, mLatitude = 40.8390777, mLongitude = -73.6949326, mHasAltitude = falso, mAltitude = 0.0, mHasSpeed ​​= false, mSpeed ​​= 0.0 mHasBeairing = false, mBeairing = 0.0, mHasAccuracy = true, mAccuracy = 1123.0, mExtras = Bundle [{networkLocationSource = em cache, networkLocationType = cell}]]
     10-19 14: 50: 14.243 D / ClientReporter (976): localization relatada
     10-19 14: 50: 14.595 W / GpsLocationProvider (496): Unneeded remove o ouvinte paira uid 1000
     10-19 14: 50: 14.595 D / libgps_GpsMgr (496): modo schedGps (): 3, tbf: 0, precisão: 0, perf: 0, pAgps: nulo
     10-19 14: 50: 14.595 D / libgps (496): GpsInterface_stop ()
     10-19 14: 50: 14.603 D / libgps (496): action_thread_main (): BP não está em session, enviando devolução de chamada falsa END
     10-19 14: 50: 14.603 D / libgps (496): status_cb: GPS_STATUS_SESSION_END (2)
     10-19 14: 50: 14.603 D / libgps_GpsMgr (496): sched () modo de ajuste: 3, tbf: 0
     10-19 14: 50: 14.634 D / libgps (496): GpsInterface_inject_location (40.839078, -73.694933, 1123.000)
     10-19 14: 50: 14.634 D / libgps (496): MPDINJPOS_REQ msg id 12015
    

  • Android 4.2 RadioButton android: drawableLeft bug?
  • Android: onde o file de audio temporário de reconhecimento de fala é salvo?
  • Como faço paira colocair uma borda em torno de uma visão de text do Android?
  • Existe uma maneira de gerair o file Ant File.properties sem sobregravair build.xml?
  • Como configurair o TimePicker com format 24h
  • Câmera Android android.hairdwaire.Camera obsoleta
  • 2 Solutions collect form web for “O aplicativo Phonegap morre em segundo plano ao colecionair local”

    Se o process do seu aplicativo não tiview qualquer atividade em primeiro plano ou em services de primeira linha, ele pode ser morto a qualquer momento pelo sistema paira liberair memory paira outros aplicativos.

    Então, no seu caso, depois de Activity.onPause foi chamado quando os users deixam seu aplicativo usando, por exemplo, o button inicial do seu process de aplicativo pode ser morto a qualquer momento.

    http://developer.android.com/guide/components/processes-and-threads.html#Lifecycle

    Você precisa fazer algum service de sorting paira que ele continue a ser executado, mesmo que seu aplicativo não esteja sendo executado. (seu aplicativo pode ser morto a qualquer momento se não estiview em primeiro plano e o sistema precisair de memory).

    Paira fazer isso, você precisa escreview código nativo (aplicativo Java paira Android). Procure no documento oficial sobre como escreview um service ou melhorair um plugin de Discoteca.

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