मेरे पास फ़ोनगैप में बनाया गया एक ऐप है जो मोबाइल डिवाइस के निर्देशांक को ट्रैक करने के लिए navigator.geolocation
कॉल का उपयोग करता है। उपयोगकर्ता ट्रैकिंग शुरू करने के साथ-साथ इसे समाप्त करने के नियंत्रण में है। ऐप को पृष्ठभूमि में समन्वय अद्यतन प्राप्त करने के लिए बनाया गया था। ऐप एंड्रॉइड और आईओएस डिवाइस दोनों के लिए जारी किया गया है।स्थान एकत्र करते समय फ़ोनगैप ऐप पृष्ठभूमि में मर जाता है
एंड्रॉइड संस्करण पृष्ठभूमि में होने पर क्रैश होने की संभावना प्रतीत होता है। कुछ फोनों पर यह ठीक है लेकिन उनमें से बहुत से, ऐप बस मर जाएगा जबकि यह पृष्ठभूमि में समन्वय डेटा एकत्रित करना है। मैंने नीचे एक लॉग कैट लॉग पोस्ट किया है। ऐसा लगता है कि CCWalkerActivity
पर Activity
प्रबंधक के बाद शीघ्र ही "अब नहीं चाहता" प्रक्रिया (दोनों को नीचे बोल्ड किया गया है) के बाद एक जीत की मृत्यु होती है। हालांकि, मैं यह निर्धारित नहीं कर सकता कि यह क्यों हो रहा है और यह इतनी बार क्यों हो रहा है।
क्या यह फोनगैप के साथ कोई समस्या है? एक प्लगइन बनाना होगा जो प्रक्रिया को अग्रभूमि सेवा (startForeground()
का उपयोग करके) लाभकारी हो सकता है?
10-19 14:50:12.439 D/dalvikvm( 496): GC_CONCURRENT freed 1917K, 28% free 12417K/17031K, external 11622K/13670K, paused 12ms+10ms 10-19 14:50:13.040 D/CordovaLog(6275): isGPSEnabled succeeded, accuracy: 12 10-19 14:50:13.040 D/CordovaLog(6275): file:///android_asset/www/lib.js: Line 24 : isGPSEnabled succeeded, accuracy: 12 10-19 14:50:13.040 I/Web Console(6275): isGPSEnabled succeeded, accuracy: 12 at file:///android_asset/www/lib.js:24 10-19 14:50:13.072 D/CordovaLog(6275): collectLocationData success: 12 10-19 14:50:13.072 D/CordovaLog(6275): file:///android_asset/www/lib.js: Line 24 : collectLocationData success: 12 10-19 14:50:13.072 I/Web Console(6275): collectLocationData success: 12 at file:///android_asset/www/lib.js:24 10-19 14:50:14.072 D/WifiLocator( 976): Too many no-location APs. Will not compute a location nor go to the server. hasLocation=0 noLocation=0 cacheMiss=0 10-19 14:50:14.072 D/CellLocator( 976): Found cell location: Position [redacted] 10-19 14:50:14.072 D/androidNlpServiceThread( 976): reporting Location[mProvider=network,mTime=1350672614078,mLatitude=40.8390777,mLongitude=-73.6949326,mHasAltitude=false,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=1123.0,mExtras=Bundle[{networkLocationSource=cached, 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): reported location 10-19 14:50:14.095 D/CordovaLog(6275): collectLocationData success: 1123 10-19 14:50:14.095 D/CordovaLog(6275): file:///android_asset/www/lib.js: Line 24 : collectLocationData success: 1123 10-19 14:50:14.095 I/Web Console(6275): collectLocationData success: 1123 at file:///android_asset/www/lib.js:24 10-19 14:50:14.118 D/androidNlpServiceThread( 976): adding listener com.[email protected]40552710 with period 45 10-19 14:50:14.118 D/androidNetworkLocationListeners( 976): Still have listener com.[email protected]40552710 10-19 14:50:14.118 I/ActivityManager( 496): No longer want com.CCtracks.CCWalker (pid 6275): hidden #21 10-19 14:50:14.126 D/WifiLocator( 976): Too many no-location APs. Will not compute a location nor go to the server. hasLocation=0 noLocation=0 cacheMiss=0 10-19 14:50:14.126 D/CellLocator( 976): Found cell location: Position [redacted] 10-19 14:50:14.126 D/androidNlpServiceThread( 976): reporting Location[mProvider=network,mTime=1350672614137,mLatitude=40.8390777,mLongitude=-73.6949326,mHasAltitude=false,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=1123.0,mExtras=Bundle[{networkLocationSource=cached, networkLocationType=cell}]] 10-19 14:50:14.134 D/ClientReporter( 976): reported location 10-19 14:50:14.204 I/WindowManager( 496): WIN DEATH: Window{405a97d0 com.CCtracks.CCWalker/com.CCtracks.CCWalker.CCWalkerActivity paused=false} 10-19 14:50:14.228 D/androidNlpServiceThread( 976): adding listener com.[email protected]40552710 with period 86400 10-19 14:50:14.228 D/androidNetworkLocationListeners( 976): Still have listener com.[email protected]40552710 10-19 14:50:14.236 D/WifiLocator( 976): Too many no-location APs. Will not compute a location nor go to the server. hasLocation=0 noLocation=0 cacheMiss=0 10-19 14:50:14.236 D/CellLocator( 976): Found cell location: Position [redacted] 10-19 14:50:14.236 D/androidNlpServiceThread( 976): reporting Location[mProvider=network,mTime=1350672614246,mLatitude=40.8390777,mLongitude=-73.6949326,mHasAltitude=false,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=1123.0,mExtras=Bundle[{networkLocationSource=cached, networkLocationType=cell}]] 10-19 14:50:14.243 D/ClientReporter( 976): reported location 10-19 14:50:14.595 W/GpsLocationProvider( 496): Unneeded remove listener for uid 1000 10-19 14:50:14.595 D/libgps_GpsMgr( 496): schedGps() mode: 3, tbf: 0, accuracy: 0, perf: 0, pAgps: null 10-19 14:50:14.595 D/libgps ( 496): GpsInterface_stop() 10-19 14:50:14.603 D/libgps ( 496): action_thread_main(): BP not in session, sending fake END callback 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() set mode: 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