Pourquoi de nombreuses applications nécessitent-elles une autorisation de lire l'état et l'identité du téléphone? -- permissions domaine et privacy domain android en relation problème

Why do so many applications require permission to read the phone state and identity?



90
vote

problème

français

Pourquoi de nombreuses applications nécessitent-elles une autorisation de lire l'état et l'identité du téléphone ?. Plus précisément:

Phone calls read phone state and identity

Par exemple, QuickPedia est un portail Wikipedia, mais veut avoir accès au téléphone. Quelle est l'explication pour ça?

Entrez la description de l'image ici

langue Anglaise

Why do so many applications require permission to read the phone state and identity?. Specifically:

Phone calls    read phone state and identity 

For example Quickpedia is a Wikipedia portal, but wants access to the phone. What is the explanation for this?

enter image description here

     
   
   

Liste de réponses

59
 
vote

Il permet à l'application de lire un identifiant unique (un identifiant de téléphone nommé iMei ) qui est associé à votre téléphone.

Il peut donc aider à la protection de la copie ou à la tentative de suivre le nombre d'utilisateurs.

 

It allows the App to read a unique ID (a phone identifier named IMEI) that's associated with your phone.

It can therefore help with copy-protection or the attempt to track the number of users.

 
 
 
 
40
 
vote

Il y a une autre raison pour cela que l'ID unique. Je devinerais que la moitié des applications n'accélèrent pas du tout ces valeurs. Le problème est que pour une version inférieure jusqu'à Android 1.5, cette permission n'existe pas. Tout le monde pourrait accéder à ces valeurs sans demander quelque chose.

Par conséquent, si vous créez une application compatible avec 1.5 Cette autorisation sera automatiquement ajoutée pour imiter la sécurité inférieure de Android 1.5 à cause de cela, vous pouvez ignorer cette autorisation dans la plupart des temps car il a tendance à être juste une question de compatibilité. .

 

There is another reason for this than the unique ID. I would guess that half of the apps don't access those values at all. The problem is that for a lower version up to Android 1.5 this permission does not exist. Everybody could access these values without requesting something.

Therefore if you create an app that is compatible with 1.5 this permission will automatically be added to emulate the lower security of Android 1.5 because of that you could ignore this permission in most of the times because it tends to be just a compatibility issue.

 
 
   
   
18
 
vote

Cette question m'a été dérangée assez longtemps. Donc maintenant, enfin, j'ai décidé d'arriver au bas de la question.

Le PlayStore possède une application nommée permission.read_phone_state < / a>, qui demande READ_PHONE_STATE comme seule autorisation et ne fait rien d'autre que d'imprimer toutes les données qu'il peut accéder à ou sans l'utiliser. J'ai installé que sur mon LG Optimus 4x , étant enraciné sur le stock Android 4.0.3 et a révoqué la permission en utilisant LBE. RÉSULTATS SONT PAS intéressant, comme les captures d'écran suivantes montrent:

capture d'écran 1  Capture d'écran 2 capture d'écran 3
informations recueillies par l'application Permission. Read_phone_state (Cliquez sur les images pour des variantes plus grandes)

Comme vous pouvez le voir facilement, même quelques informations que le Dev si inaccessible sans la permission, était librement accessible: mon numéro de boîte aux lettres (remarque: oui, c'est le bon; avec mon fournisseur qui est le raccourci lors de la composition de votre propre appareil, Donc, je peux l'afficher librement;) à la fin de la première capture d'écran que vous voyez:

  • CALL_STATE_IDLE . donc aucun appel téléphonique entrant, sortant ou en cours. Aucune application n'a besoin de cette permission de "fond" sur des appels entrants.

Il est même possible de voir si les données mobiles sont actives ( DATA_DISCONNECTED ; J'étais sur wifi lorsque vous prenez les captures d'écran, comme vous pouvez le voir dans la barre de notification), quel pays vous êtes dans votre pays, votre pays fournisseur (y compris certaines données techniques sur lui), que vous ayez une carte SIM, ou si vous êtes en itinérance.

Les seules choses non accessibles sont donc identifiant les données: IMEI, SIMID, IMSI et votre propre numéro de téléphone.

Conclusion: Cette autorisation n'est nécessaire que pour des fins d'identification, rien d'autre.

Pourquoi tant d'applications en ont besoin alors?

  • pour les modules d'annonce, probablement 1
  • parce que le dev pensait il en a besoin (comme indiqué par certaines réponses ici) 2
  • Parce que l'application en question est conçue pour (également) exécuter sur Android 1.5 et ci-dessous (facile à découvrir, comme c'est indiqué sur Google Play ).

probabilités dans exactement cet ordre, imho.

1 Remarque par Dan's Post sur chat :

La stratégie Google Play interdit maintenant aux applications d'obtenir votre IMEI pour vous identifier à des fins publicitaires. Toutes les bibliothèques publicitaires ont été mises à jour maintenant pour utiliser l'ID "de la publicité" de Google-Play-Services, de sorte que tout qui utilise toujours l'IMEI à cet effet doit être signalé à Google.

Comme il est difficile pour l'utilisateur de dire ce que l'application utilise l'IMEI pour, vous devez demander au développeur d'expliquer en premier.

2 Un autre développeur m'a simplement signalé à une différence subtile: tandis que la permission n'est pas nécessaire pour lire l'état actuel de l'appel (comme je l'ai signalé), peut être nécessaire pour enregistrer un afin d'être notifié sur modifications de l'état de l'appel (voir: Détection Appels téléphoniques entrants et sortants sur Android ). Bien qu'il semble y avoir des moyens de la manipulation automatiquement lorsque le système appelle onPause , cela pourrait ne pas toujours être approprié: pensez à votre réveil. Vous ne voudrez peut-être pas que arrêté automatiquement sur un appel entrant - surtout pas lorsque votre profil est défini sur le volume de sonnerie "sourd".

3 à nouveau un Correction de Dan : vous seulement Obtenez la permission supplémentaire par défaut si la version "cible" de votre application est de 1,5. Si vous cible une version ultérieure, votre version MIN est de 1,5, vous n'obtenez pas la permission ajoutée automatiquement.

Mises à jour

  1. intéressant qu'il y a une Ouvrir le problème (21504) à Diviser READ_PHONE_STATE Dans ce qui est nécessaire pour a) détecter les appels entrants et associés (téléphonie) et une seconde autorisation pour les détails d'identification (IMEI, IMSI, etc.). Ouvert le 11/2011, toujours pas travaillé. Étoiser si vous êtes intéressé :)
  2. et oui, il y a un moyen d'obtenir la même chose (détecter les appels entrants) sans le 9988777665 autorisation, comme par exemple. pointé par Arno Welzel . En tant qu'appel téléphonique entrant déclencherait la sonnerie, que événement pourrait être utilisé avec onAudioFocusChange() , qui ne nécessite aucune autorisation spéciale: si l'application a pu vérifier la CallState (encore une fois, sans aucune autorisation spéciale requise) pour voir s'il existe un appel entrant.

 

This question has been bothering me quite some time. So now, finally, I decided to get to the bottom of the issue.

The Playstore has an app named permission.READ_PHONE_STATE, which requests READ_PHONE_STATE as the only permission, and does nothing else than printing out all data it can access with or without using it. I've installed that on my LG Optimus 4X, being rooted on stock Android 4.0.3, and revoked the permission using LBE. Results where pretty interesting, as the following screenshots show:

Screenshot 1 Screenshot 2 Screenshot 3
Information gathered by the app permission.READ_PHONE_STATE (click images for larger variants)

As you can easily see, even some information the dev though inaccessible without the permission, was freely accessible: my mailbox number (remark: Yes, it's the correct one; with my provider that's the shortcut when dialing from your own device, so I can freely display it ;) At the end of the first screenshot you see:

  • CALL_STATE_IDLE. So no phone call incoming, outgoing, or in progress. No app needs this permission to "background" itself on incoming calls.

It's even possible to see whether mobile data are active (DATA_DISCONNECTED; I was on WiFi when taking the screenshots, as you can see in the notification bar), which country you're in, your provider (including some technical data on him), whether you're having a SIM card, or if you're in roaming.

The only things not accessible hence are identifying data: IMEI, SIMID, IMSI, and your own phone number.

Conclusion: This permission is only needed for identification purposes, nothing else.

Why do so many apps need it then?

  • For the ad modules, most likely1
  • Because the dev thought he needs it (as pointed out by some answers here)2
  • Because the app in question is designed to (also) run on Android 1.5 and below (easy to find out, as that's listed on Google Play).

Likelihoods in exactly this order, IMHO.


1 Note by Dan's post on chat:

Google Play policy now forbids apps from getting your IMEI to identify you for advertising purposes. All the ad libraries have been updated now to use the Google-Play-Services-provided "advertising ID", so any that still use the IMEI for this purpose should be reported to Google.

As it's hard for the user to tell what the app is using the IMEI for, you should ask the developer to explain first.


2 Another developer just pointed me to a subtle difference: while the permission is not needed to read the current call status (as I've pointed out), it might be needed to register a listener in order to be notified on changes of the call status (see: Detecting incoming and outgoing phone calls on Android). While there seem to be means of handling this automatically when the system calls onPause, that might not always be suitable: think of your alarm clock. You might not want to have that automatically stopped on an incoming call xe2x80x93 especially not when your profile is set to ringer volume "muted".


3 Again a correction from Dan: You only get the default extra permission if your app's "target" version is 1.5. If you target a later version but your min version is 1.5, you don't get the permission added automatically.


Updates

  1. Interesting that there's an open issue (21504) to divide READ_PHONE_STATE in what's needed to a) detect incoming calls and related (telephony), and a second permission for the identification details (IMEI, IMSI, etc). Opened 11/2011, still not worked on. Star it if interested :)
  2. And yes, there's a way to achieve the same (detecting incoming calls) without the READ_PHONE_STATE permission, as e.g. pointed out by Arno Welzel. As an incoming phone call would trigger the ringer, that event could be used with onAudioFocusChange(), which does not require any special permission: if triggered by that, the app could check the CallState (again, without any special permission required) to see whether there's an incoming call.
 
 
       
       
19
 
vote

La raison est que Android 1.5 et plus tôt n'ont pas besoin de la demande de demande spécifiquement ces autorisations et de les accorder automatiquement. Depuis Android 1.6, ces autorisations doivent être spécifiquement demandées par l'application. Toutefois, si vous spécifiez que votre application peut exécuter des périphériques avec Android de 1,5 et moins, cette autorisation est ajoutée à l'application par défaut et que le marché montre que l'autorisation est demandée par l'application.

Donc, en résumé, l'application peut ne pas accéder à votre "état de téléphone et d'identité", mais si le développeur a précisé que son application peut exécuter sur des périphériques avec 1,5 ou moins, cette autorisation sera affichée.

 

The reason is that Android 1.5 and earlier did not require the application to specifically request those permissions and automatically granted them. Since Android 1.6, those permissions have to be specifically requested by the app. However, if you specify that your application can run on devices with Android 1.5 and less, then that permission is added to the application by default and the market shows that permission as being requested by the application.

So in summary, the application may not actually be accessing your "phone state and identity" but if the developer specified that his/her application can run on devices with 1.5 or less then that permission will be shown.

 
 
     
     
10
 
vote

De nombreux éditeurs d'annonces utilisent cette autorisation pour obtenir l'ID de téléphone pour toutes sortes de suivi. Il existe d'autres moyens d'obtenir une carte d'identité unique, mais malheureusement, elles sont buggy dans les versions androïdes plus anciennes (l'histoire est plus compliquée, voir par exemple https://stackoverflow.com/questions/2785485/is-Thee-a-unique-Androi-device-id ou http://android-developers.blogspot.com/2011/03/identifing-app-Installations.html < / a> pour une histoire plus complète).

Donc, si l'application utilise des publicités, il y a une chance équitable que l'application elle-même n'a pas besoin de la permission Lecture_Phone_State, seul le fournisseur d'annonce.

 

Many ad publishers use this permission to get the Phone ID for all sorts of tracking purposes. There are other ways to get a unique ID, but unfortunately they are buggy in older Android versions (the story is more complicated, see e.g. https://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id or http://android-developers.blogspot.com/2011/03/identifying-app-installations.html for a more complete story).

So if the app uses advertisements, there is a fair chance that the app itself does not actually need the READ_PHONE_STATE permission, only the ad provider does.

 
 

Questions connexes

24  Quelles données d'Android Sync'd sont cryptées?  ( What android syncd data is encrypted ) 
avec la sortie du plug-in FireSeep pour Firefox Il est devenu trivial pour la navigation sur le site Web sur les réseaux Wi-Fi ouverts être détourné par les...

0  C'est possible pour le cache de papier peint enregistré dans Android / Data Dossier étant piraté? (Pas enracinée)  ( It that possible for the wallpaper cache saved in android data folder being hac ) 
Mon petit ami plaisante avec moi, mettait ma photo privée comme fond d'écran. J'ai supprimé la photo mais le fond d'écran reste toujours là ... Après avoi...

3  Est-il possible d'apporter un appel sans avoir accès à la liste des contacts?  ( Is it possible to make a call without having access to the contacts list ) 
est-il possible d'apporter un appel sans donner accès aux contacts du téléphone? C'EST À DIRE. Dites que j'ai laissé un ami utiliser mon téléphone et verrouil...

2  Mes contacts sont-ils cryptés sur mon Android?  ( Are my contacts encrypted on my android ) 
mes contacts sont cryptés sur mon Android et où sont-ils? Comment puis-je y accéder? Des API publiques? (De PC) ...

2  Comment supprimer le fichier des "fichiers récents" sur Android 10?  ( How to remove file from recent files on android 10 ) 
Dans l'application Fichiers du stock Android 10 (Pixel 2 XL), il existe une catégorie "récente". Pour des raisons de confidentialité, je voulais supprimer un ...

2  L'App OPS peut-il fonctionner sur 4.4.4?  ( Can app ops run on 4 4 4 ) 
J'ai installé et essayé plusieurs des " app OPS " Applications de démarrage de Google Play Store. Quand j'exécute n'importe lequel d'entre eux, une boîte de d...

26  Pourquoi la nouvelle mise à jour de Chrome veut-elle la permission d'utiliser mon appareil photo et mon enregistrement audio?  ( Why does the new chrome update want the permission to use my camera and audio re ) 
Sérieusement, il stipule spécifiquement qu'il peut utiliser l'appareil photo et l'enregistrement audio à tout moment, que je souhaite ou non, je souhaite qu'...

9  Comment crypté votre appareil exécutant CyanogenMod 12.1?  ( How do you encrypt your device running cyanogenmod 12 1 ) 
CyanogenMod 12 et 12.1 'Crypt The Phone' est cassé et fait depuis longtemps. Y a-t-il un moyen de crypter le téléphone d'une autre manière? CM peut-il être ...

6  Pourquoi les applications de casier de l'application ont-elles besoin de tant d'autorisations? Suis-je en sécurité?  ( Why do app locker apps need so many permissions am i safe ) 
J'ai essayé de protéger par mot de passe une application et il semble que les autorisations varient de l'application à l'application pour les casiers d'applic...

90  Pourquoi de nombreuses applications nécessitent-elles une autorisation de lire l'état et l'identité du téléphone?  ( Why do so many applications require permission to read the phone state and ident ) 
Pourquoi de nombreuses applications nécessitent-elles une autorisation de lire l'état et l'identité du téléphone ?. Plus précisément: Phone calls read p...




© 2022 www.demandez.top All Rights Reserved. Questions et réponses Accueil Tous les droits sont réservés