Cum pot afla ce aplicație utilizează GPS-ul din fundal? [duplicat] (Android, Geolocalizare, Servicii)

MalcolmOcean a intrebat.

Posibil duplicat:
Cum să verificați ce aplicație folosește GPS-ul pe Galaxy Nexus?

Am văzut pictograma de localizare în partea de sus, în timp ce mă aflam pe ecranul de pornire al Galaxy Nexus meu. Existau doar două aplicații care rulau și le-am șters pe amândouă, dar pictograma de localizare era încă acolo. Am descoperit că, dacă dezactivez localizarea și apoi o activez din nou, aceasta va dispărea, dar aș dori să aflu care dintre aplicațiile mele folosește acest lucru, pentru a mă putea gândi să o dezinstalez sau să schimb o setare.

Există o modalitate de a face acest lucru? Presupun că poate o aplicație care detectează acest lucru sau o chestie de sistem?

Comentarii

  • Ați verificat ieșirea din adb logcat alady? –  > Por Ott….
  • Rulezi un ROM personalizat precum AOKP/CyanogenMod/etc. ? Există PDroid autopatcher care adaugă control pentru acest lucru și alte lucruri relevante pentru confidențialitate. –  > Por ce4.
1 răspunsuri
KeithS

În primul rând, prin „clar”, la ce vă referiți mai exact? Suprapunerile UI ale multor producători oferă modalități de a elimina aplicațiile în curs de execuție din listele de acces rapid, cum ar fi cea pe care o obțineți cu o apăsare lungă pe tasta de pornire, dar făcând asta, de obicei, nu se închide efectiv aplicația. Android, în mod implicit, păstrează aplicațiile care rulează în modul „fundal” după ce ieșiți din ele, deoarece sunt mai rapid de trecut la ele dacă sunt deja în RAM decât dacă le porniți „la rece”.

Așadar, dacă nu „închideți forțat” aplicațiile cu ajutorul vizualizării Setări sau al unei aplicații „task killer”, orice aplicație pe care ați rulat-o, dar pe care ați „eliminat-o”, continuă să ruleze în „modul fundal”. Cele mai multe aplicații fac foarte puține lucruri în modul de fundal, pentru a economisi CPU și, prin urmare, pentru a economisi consumul de baterie, dar unele vor menține lucruri precum accesul la GPS. Orice aplicație socială care vă permite să vă „verificați” undeva, cum ar fi Facebook, Foursquare, aplicațiile de „amprentă” etc., este posibil să facă acest lucru, astfel încât să vă puteți marca rapid locația curentă fără a aștepta ca GPS-ul să recupereze sateliții și să vă obțină locația.

Dacă închideți forțat sau eliminați aplicații despre care credeți că folosesc GPS și vedeți în continuare pictograma GPS, ar putea fi vorba de două lucruri: în primul rând, acțiunea de închidere forțată nu este o modalitate „curată” de a închide aplicații, iar multe dintre ele nu se așteaptă să fie închise forțat, astfel încât, dacă închideți forțat o aplicație care folosea GPS, este posibil să nu se curețe anumite lucruri, cum ar fi conexiunile sale la funcțiile telefonului, cum ar fi GPS.

În al doilea rând, există unele servicii integrate în Android, cum ar fi serviciul E911, care utilizează GPS dacă este disponibil și care nu pot fi închise. Astfel, dacă porniți GPS pentru altceva, unul dintre aceste servicii poate cere sistemului de operare să păstreze semnalele achiziționate de la sateliții GPS pentru a vă putea menține locația. pentru orice eventualitate trebuie să sunați la 911, până când dezactivați manual GPS-ul cu totul (moment în care serviciile revin la metode de localizare mai puțin granulare, cum ar fi triangularea de la turnurile de telefonie mobilă din apropiere sau de la hotspoturile Wi-Fi cunoscute).

EDIT: Ca să răspund la întrebarea reală pusă (concept nou, știu), nu găsesc nicio aplicație care să arate utilizarea GPS-ului, care să fie disponibilă în Google Play și care să nu necesite un telefon înrădăcinat (și/sau un ROM personalizat, adică CyanogenMod etc.). Cea pe care am găsit-o, Spare Parts Plus PRO, se presupune că face acest lucru într-un mod ocolit, arătând utilizarea bateriei aplicațiilor instalate cu permisiunea de a utiliza GPS, dar, în afară de o mărturie a unui utilizator de aici (veche de peste un an), nu mai găsesc nicio dovadă că face acest lucru (versiunea gratuită nu o face și niciuna dintre documentații nu spune în mod specific că o va face) și nu voi cheltui bani pentru a afla doar pentru a vă oferi un răspuns aici. Îmi pare rău. Dacă vrei să încerci, costă doar 1,75 dolari; anunță-ne și pe noi ceilalți.

Singurul lucru pe care vi-l pot sugera este să căutați un manager de aplicații care să listeze programele care rulează în funcție de permisiunile de care au nevoie. Există mai multe care listează aplicațiile în funcție de permisiune; aSpotCat, PermissionDog, App Permission Watcher etc. Totuși, nu sunt sigur care dintre ele va permite și filtrarea în funcție de starea curentă de funcționare (PermissionDog afișează o notificare atunci când o aplicație pornește, arătând ce poate face).

Dacă găsiți una, utilizarea este simplă; dacă rulează și are nevoie de GPS, este suspectă să fie aplicația care utilizează GPS-ul în acest moment.

În cele din urmă, din punct de vedere tehnic, sistemul de operare Android „folosește” de fapt GPS-ul telefonului. Majoritatea aplicațiilor, în special cele care nu necesită înrădăcinare, nu pot controla direct nicio funcție a telefonului; în schimb, ele solicită sistemului de operare Android să obțină sau să seteze informații referitoare la aceste funcții, utilizând „gestionarii de servicii” pe care Android îi expune în API-ul său. O aplicație care are nevoie de locația dvs. va cere pur și simplu serviciului Android LocationManager locația dvs. curentă, solicitând opțional o granularitate „grosieră” sau „fină”, iar Android va utiliza apoi orice servicii de locație pe care i-ați spus că le poate utiliza (GPS, turnuri de telefonie mobilă, locație hotspot Wi-Fi) pentru a afla, returnând locația și metoda utilizată (sau spunând aplicației că nivelul de granularitate solicitat nu a putut fi utilizat deoarece l-ați dezactivat). Android nu ține evidența aplicațiilor care au făcut cereri recente prin intermediul API pentru serviciile sale de localizare (cu atât mai puțin a aplicațiilor care au necesitat ca serviciul să cheltuiască resurse semnificative pentru a le afla); știe doar ce aplicații au permisiunea de a face acest lucru și, atâta timp cât cel puțin una dintre ele este în funcțiune și a făcut o cerere, Android menține GPS-ul activ.

Rezultatul este că, practic, tot ce puteți face este să verificați încrucișat aplicațiile care rulează cu aplicațiile care pot utiliza GPS, pentru a afla ce aplicații pot utilizează GPS în acest moment. Dacă există doar una singură care rulează și care are permisiunea necesară, este destul de ușor să o restrângeți. Dacă există o duzină de aplicații sau servicii cu această permisiune care „rulează” în prezent (rezidente în memoria RAM), este puțin mai greu (mai ales că, așa cum am spus, unele dintre acestea pot fi servicii de bază ale telefonului care pot provoca blocarea acestuia dacă încercați să le închideți forțat).

Comentarii

  • Bună informație… dar cum răspunde asta la întrebare: Cum pot să aflu ce aplicație îmi folosește GPS-ul din fundal? –  > Por Izzy.
  • A, da, am vrut să spun că am folosit tasta dedicată „running apps” de pe ICS+ pentru a le închide. Îmi dau seama că astfel rămân lucruri care rulează în fundal. –  > Por MalcolmOcean.
  • Ceea ce a spus @Izzy. Mă pot gândi la o mulțime de motive pentru care aplicațiile ar putea face acest lucru, dar am vrut să știu care sunt acestea. De asemenea, a început să se întâmple abia în ultimele săptămâni, așa că mă îndoiesc foarte tare că are legătură cu un serviciu încorporat. Chiar dacă este, aș vrea să știu cu siguranță. –  > Por MalcolmOcean.
  • Din nefericire, o căutare prin Google Play pentru variantele „GPS Monitor” sau „GPS Usage Tracker” a arătat doar aplicații care folosesc GPS pentru a urmări sau monitoriza lucruri (pe tine însuți, camioanele/șoferii tăi, copiii tăi etc.), mai degrabă decât pentru a urmări utilizarea GPS în sine. –  > Por KeithS.
  • Vă mulțumim că ați cercetat acest aspect. Se pare că nu există un răspuns evident, dar aceasta este o perspectivă utilă. Nu am mai văzut pictograma acolo în ultima vreme, așa că nu sunt sigur ce se întâmplă acum. –  > Por MalcolmOcean.