为什么这么多应用程序需要允许阅读电话状态和身份? -- permissions 领域 和 privacy 领域 android 相关 的问题

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


简体版||繁體版
90
vote

问题

中文

为什么许多应用程序需要允许阅读电话状态和身份?具体:

  Phone calls    read phone state and identity   

例如QuickPedia是一个维基百科门户,但想要访问手机。这是什么解释?

输入图像描述

英文原文

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

     
   
   

回答列表

18
 
vote

这个问题一直在困扰我。所以现在,最后,我决定进入问题的底部。

PlayStore有一个名为 permision.read_phone_state < / a>,该请求 READ_PHONE_STATE 作为唯一的权限,并且不做任何其他东西都没有打开它可以访问或不使用它的所有数据。我在我的 LG Optimus 4x 上安装了,扎根于Android 4.0.3,并使用LBE撤消了许可。结果非常有趣,如以下截图显示:

screenshot 1  screenshot 2 screenshot 3
app 权限收集的信息。 read_phone_state (点击图像以获得更大的变体)

如果您可以轻松地看到,甚至有些信息仍然无法访问,无权无法访问:我的邮箱号码(备注:是的,它是正确的;与我的提供商从您自己的设备拨打时,我的提供商是快捷方式,所以我可以自由地显示它;)在第一个截图的末尾你看到:

  • CALL_STATE_IDLE 所以没有电话呼叫传入,外向或正在进行中。没有应用程序需要在来电的呼叫上"背景" 自身。

甚至可以看出移动数据是否有效( DATA_DISCONNECTED ;我在wifi拍摄屏幕截图时,正如您在通知栏中看到的,您所在的哪个国家/地区提供者(包括他上的一些技术数据),无论您是有SIM卡,还是您在漫游。

not 可访问的唯一东西是识别数据:IMEI,SIMID,IMSI和您自己的电话号码。

结论:仅需要识别目的,唯一别的。

为什么这么多应用程序需要它?

  • 对于广告模块,最有可能 1
  • 因为dev 思想他需要它(如这里的一些答案所指出的) 2
  • 因为所讨论的应用程序旨在(也)在Android 1.5和下面运行(易于找出,就像在 Google Play 上那样)。

恰好在此顺序,imho。


1 注意丹在聊天中的帖子:

Google Play策略现在禁止应用您的IMEI来识别您的广告目的。现在所有的广告库都已更新以使用Google-Play服务提供的"广告ID" ,因此应该向Google报告任何仍然使用IMEI的IMEI。

因为用户难以讲述应用程序使用IMEI的内容,您应该要求开发人员首先解释。


2 另一个开发人员刚刚将我指向一个微妙的差异:虽然不需要许可对当前呼叫状态(如我所指出的),它可能需要注册侦听器,以便在更改上的通知状态(请参阅:检测在Android 上的传入和拨出电话呼叫。虽然当系统调用 onPause 时,似乎会自动处理此操作的手段,但可能并不总是适合:请考虑闹钟。您可能不希望在来电时自动停止 - 特别不是当您的配置文件设置为铃声卷"静音" 时。


3 再次a 来自Dan :你 获取默认的额外许可,如果您的应用程序的"目标" 版本为1.5。 如果您定位了以后的版本,但您的MIN版本为1.5,则无需自动添加许可。


更新

    有趣的是有一个打开问题(21504)分割 READ_PHONE_STATE 在需要的是a)检测到来电和相关(电话),以及识别细节的第二许可(IMEI,IMSI等)。开幕11/2011,仍然没有工作。明星它如果有兴趣:)
  1. 和是的,有一种方法来实现相同的(检测来电)而没有 READ_PHONE_STATE permission,如例如, 指出的是arno welzel 。由于传入的电话会触发铃声,活动可以与 onAudioFocusChange() 一起使用,这不需要任何特殊权限:如果由此触发,则该应用程序可以检查 callstate (再次无需任何特殊权限)来查看是否有呼入呼叫。

 

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.
 
 
       
       
59
 
vote

它允许应用程序读取唯一ID(名为 imei )的电话标识符。

因此可以帮助复制保护或尝试跟踪用户数量。

 

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

与唯一ID有另一种原因。我猜这一半的应用程序根本不会访问这些值。问题是,对于较低的版本,达到Android 1.5此权限不存在。每个人都可以访问这些值而不请求某些东西。

因此,如果您创建与1.5兼容的应用程序,则会自动添加此权限以模拟Android 1.5的较低安全性,因为您可以在大多数时候忽略此权限,因为它往往只是一个兼容性问题。

 

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.

 
 
   
   
19
 
vote

原因是Android 1.5及更早版本不要求应用程序特别请求这些权限并自动授予它们。由于Android 1.6因此,该应用程序必须具体请求这些权限。但是,如果您指定应用程序可以在具有Android 1.5的设备上运行,则默认情况下将该权限添加到应用程序中,并且市场显示应用程序所请求的权限。

所以总之,应用程序可能无法访问您的"电话状态和标识" ,但如果开发人员指定了他/她的应用程序可以在1.5或更小的设备上运行,则将显示该权限。
 

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

许多广告发布者使用此权限来获取各种跟踪目的的电话ID。还有其他方法可以获得一个唯一的身份证,但不幸的是,他们在旧的android版本中是越野车(故事更复杂,看看 https://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-d 或 http://android-developers.blogspot.com/2011/03/idendify-app-installations.html < / a>更完整的故事)。

所以如果应用程序使用广告,那么应用程序本身实际上不需要read_phone_state权限,只有广告提供程序的情况。
 

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.

 
 

相关问题

8  如何使用Linux系统同步联系人和日历,而无需使用Gmail?  ( How to sync contacts and calendar with linux system without using gmail ) 
如何使用Linux系统同步我的联系人和日历? 我更愿意与我的桌面同步,但是在互联网上设置服务器也是可能的。 我想避免谷歌邮件以获取隐私的原因。 ...

24  什么Android Sync'd数据被加密?  ( What android syncd data is encrypted ) 
释放 firefex插件for firefox 它已成为在开放Wi-Fi网络上浏览网站浏览的微不足道被第三方听众劫持。 Android提供方便的自动同步选项。但是,我担心我的数据可能是自动同步的,而我在当地咖啡店或购物中心连接到开放的Wi-Fi网络时。 是使用SSL或类似加密机制加密的所有数据Android自动同步...

9  如何加密运行CyanogenMod 12.1的设备?  ( How do you encrypt your device running cyanogenmod 12 1 ) 
cyanogenmod 12和12.1 '加密电话'设置破碎,并已相当长。有没有办法以其他方式加密手机? CM可以使用加密/数据目录侧面侧面通往电话?是否有其他方法可以保持数据安全和声音?我正在努力的设备是verizon lg g3。 ...

2  如何从Android 10上从“最近的文件”中删除文件?  ( How to remove file from recent files on android 10 ) 
在股票Android 10(像素2 xl)的文件应用程序中,有一个"近期" 类别。出于隐私原因,我想删除此类别中的文件。据我所知,文件名搜索此文件,但我的系统似乎没有存在,但仍然显示在列表中。我尝试清除"文件" 应用程序的缓存/存储,但仍然存在。如何从最近的列表中删除此项目,清除整个列表,或获取文件的文件夹位置,以便...

6  关于Android隐私的问题  ( Questions about android privacy ) 
Android市场中的权限警告非常含糊。同样,我无法在我之前安装的所有应用程序的集体区域中看到应用程序权限。所以,我没有CLUE应用程序是否正在访问我的联系人,我的电子邮件地址,我的姓名,电话号码,相机,麦克风,图像库和其他私人信息。 是有办法,或者我可以安装的应用程序,这将为我的应用和我的隐私表示一些风险? ...

3  是否有可能在不访问联系人列表的情况下进行呼叫?  ( Is it possible to make a call without having access to the contacts list ) 
是否可以拨打电话而不访问手机的联系人? IE。假设我让朋友使用手机,并锁定我的联系人,以便它需要一个PIN用于访问 - 有没有办法允许呼叫不一定在联系人中的任意号码? ...

12  使用Android手机是多么实用,完全绕过谷歌?  ( How practical it is to use an android phone bypassing google completely ) 
在我第一次翻过来时,我在我的nexus上注意到的第一件事之一,是Gmail,Talk,语音,地图,Google日历和许多其他谷歌的基于谷歌的服务。 我知道,即使在Windows或Linux PC上,也很难避免使用Google ......但是有可能,因为Google优惠的每个服务都有替代方案。 然而,在Android...

59  是否有任何工具到Sandbox一个恶意软件应用程序,甚至超过Android的授权权限?  ( Are there any tools to sandbox a malware application even more than the granted ) 
假设我想运行一些请求太多权限的程序。例如,从麦克风记录或读取我手机的IMEI。但是,除了数据挖掘之外,没有实际解释为什么需要从MIC或IMEI编号记录此特定应用程序。 我想尝试这个应用程序,而是限制其权限。例如,如果它读取IMEI,则它应该随机IMEI(但每次相同)。如果它试图阅读麦克风,它应该沉默。 一些其他有趣的...

26  为什么新的Chrome更新希望许可使用我的相机和音频录制?  ( Why does the new chrome update want the permission to use my camera and audio re ) 
严重,它专门说明它可以使用相机和音频录制任何需要的时间,我是否希望它到。为什么Android上的Chrome请求这些权限? 我应该担心吗? (强调我自己的。) ...

2  App Ops可以在4.4.4上运行吗?  ( Can app ops run on 4 4 4 ) 
我已安装并尝试了几个" app ops " 从Google Play商店的Starter Apps。当我运行它们中的任何一个时,一个对话框弹出说"不幸的是,设置已经停止了" 。我唯一的选择是点击"确定" 。所以,我仍然无法进入App Ops设置。 但是, 这个app 声称工作4.4.4。 我正在运行在股票Moto ...

22  我在eBay上卖掉了手机。在发送之前我该怎么办?  ( I have sold my phone on ebay what should i do before i send it off ) 
我有一个我刚刚在eBay上销售的Android手机。在将其发布到新家之前,我应该采取哪些措施?请彻底回答! ...

0  它可以为android / data文件夹保存的壁纸缓存进行黑客攻击? (没有植根)  ( It that possible for the wallpaper cache saved in android data folder being hac ) 
我的男朋友在开玩笑,将我的私人照片设置为壁纸。 我删除了照片,但壁纸仍然存在... 浏览网上的某些信息后,我发现壁纸保存到over over rooting后才能访问。 如果我更改壁纸,之前的壁纸会自动删除吗? 如果不是,因为它在一个文件夹中保存,因为它只能在rooting后访问,因为它是安全的?或者它仍然有可能被...

2  我的联系人是否在我的Android上加密?  ( Are my contacts encrypted on my android ) 
是我的android加密的联系人,它们在哪里? 如何访问它们?任何公共API? (来自PC) ...

0  Android应用程序如何限制我手机上的所有帐户?  ( How an android app can restrict all my accounts on my phone ) 
我在手机中使用多个帐户进行Android应用程序。今天,该应用程序阻止了所有帐户,因为它不允许超过一个。我的手机上有Android 10。问题是: 应用程序知道我的手机的类型的数据? 他们如何知道我正在使用多个帐户? 这个解决方案是什么?如何在一个手机上留下多个帐户隐藏多个帐户? 应用程序链接:慢慢 ...

6  为什么应用程序储物柜应用需要这么多权限?我安全吗?  ( Why do app locker apps need so many permissions am i safe ) 
我一直在尝试密码保护一个应用程序,并且似乎权限在应用程序储物柜的应用程序中有所不同。 为什么他们中的许多人都需要完整的电话访问? 如果我在 https://市场上,则存在任何危险的危险。 android.com/details?id=com.morrison.applocklite ? ...

10  删除手机中所有数据的最完整方法是什么?无法恢复?  ( Whats the most complete way to erase all the data from my phone so it cannot be ) 
我刚收到替换机器人,将把我当前的机器人发送回摩托罗拉。我相信他们会翻新它并转售它。我已经备份了一切,我将保留我的microSD卡,但如何确保所有数据都完全擦除内存,所以没有机会可以由其他人恢复? ...

14  如何准备我的rooted和screed手机进行转售?  ( How do i prep my rooted and moded phone for resale ) 
我有一个rooted mytouch 3g(htc魔法),我想卖掉,以帮助支付我新手机的成本。我一直在手机上运行Cyanogenmod。我的问题在于我真的不想用手机运行略带上车的方式坚持某人。我可以把股票r拍回到它上,但我没有听到它的很好的事情,我很确定手机植物的事实仍然可以防止来自htc手机的新更新。 所以,我问的...

11  使用谈话到文本的隐私含义是什么?  ( What are the privacy implications of using talk to text ) 
鉴于谈话到文本的Android实现向谷歌的服务器发送语音,将您的演讲解析为文本,然后将文本字符串发送回听筒,使用谈话到文本的隐私含义是什么? 这是均值,例如,我对我所爱的Nexus说的任何东西都存储在谷歌的服务器上? google tos专门参阅此问题吗? ...

0  nexus一个wifi交通通过谷歌吗?  ( Does nexus one wifi traffic go through google ) 
当我使用默认浏览器时(它是什么?它是铬吗?firefox?其他?)来查看一个站点(不一定通过谷歌搜索),任何访问信息都可以访问Google服务器吗? DNS呢? ...

8  关于自定义Android ROM的安全/隐私问题  ( Security privacy concerns regarding custom android rom ) 
使用像 cyanogen 的自定义Android ROM周围的安全性和隐私问题是什么? ...

7  为什么我需要一个Gmail帐户来使用Android?  ( Why do i need a gmail account to use android ) 
我是Android手机的新用户。我曾经拥有iPhone。除了使用它以下载App Store的应用程序,我不记得需要Apple帐户。现在我需要一个Gmail帐户即使是一些基本的东西,也可以在Google地图上找到我的位置。谷歌违反了我的隐私吗?为什么我被迫永久登录Gmail以使用Android? 更新:来自Eren T...

28  在一个地方轻松审核应用程序权限?  ( Audit app permissions easily in one place ) 
有条不实地列出了手机上安装的所有应用程序以及它们需要所有在一页上的权限,或导出列表,以便可以轻松审核? ...

2  阻止“Android系统,电池警告,Com.Media Tek,Common Data Service ...”从连接到Internet  ( Blocking android system battery warning com media tek common data service fro ) 
我正在使用NoroOT防火墙来阻止对某些应用程序的Internet访问权限。它最近通知我,这个/这些应用程序正在尝试访问互联网: "Android系统,电池验证,com.media tek,常见数据服务,em sim me lock,fotaprovider,融合位置,输入设备,键链,MTK热理管理器,权限控制...

11  如何阻止所有电话,但只允许短信和网络?  ( How to block all phone calls but only allow sms and networking ) 
当人们在工作或会议期间呼叫我时,这是有点令人不安,但如果我收到短信或Whatsapp消息,那么就可以了,因为我可以在短暂的短暂休息时间几分钟后回复它们。我是新的Android用户,并想知道我的手机是否可以为我做。 ...

90  为什么这么多应用程序需要允许阅读电话状态和身份?  ( Why do so many applications require permission to read the phone state and ident ) 
为什么许多应用程序需要允许阅读电话状态和身份?具体: Phone calls read phone state and identity 例如QuickPedia是一个维基百科门户,但想要访问手机。这是什么解释? ...

相关问题

8  如何使用Linux系统同步联系人和日历,而无需使用Gmail? 
24  什么Android Sync'd数据被加密? 
9  如何加密运行CyanogenMod 12.1的设备? 
2  如何从Android 10上从“最近的文件”中删除文件? 
6  关于Android隐私的问题 
3  是否有可能在不访问联系人列表的情况下进行呼叫? 
12  使用Android手机是多么实用,完全绕过谷歌? 
59  是否有任何工具到Sandbox一个恶意软件应用程序,甚至超过Android的授权权限? 
26  为什么新的Chrome更新希望许可使用我的相机和音频录制? 
2  App Ops可以在4.4.4上运行吗? 
22  我在eBay上卖掉了手机。在发送之前我该怎么办? 
0  它可以为android / data文件夹保存的壁纸缓存进行黑客攻击? (没有植根) 
2  我的联系人是否在我的Android上加密? 
0  Android应用程序如何限制我手机上的所有帐户? 
6  为什么应用程序储物柜应用需要这么多权限?我安全吗? 
10  删除手机中所有数据的最完整方法是什么?无法恢复? 
14  如何准备我的rooted和screed手机进行转售? 
11  使用谈话到文本的隐私含义是什么? 
0  nexus一个wifi交通通过谷歌吗? 
8  关于自定义Android ROM的安全/隐私问题 
7  为什么我需要一个Gmail帐户来使用Android? 
28  在一个地方轻松审核应用程序权限? 
2  阻止“Android系统,电池警告,Com.Media Tek,Common Data Service ...”从连接到Internet 
11  如何阻止所有电话,但只允许短信和网络? 
90  为什么这么多应用程序需要允许阅读电话状态和身份? 



© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有