なぜ多くのアプリケーションでは電話の状態とアイデンティティを読む権限が必要ですか? -- permissions フィールド と privacy フィールド android 関連 問題

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





<事前> <コード> 9988776655443330




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




それはアプリが一意の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.



そのため、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.



PlayStoreには、 permission.read_phone_state 99887766554330 は唯一の許可として要求し、それを使用しないでアクセスすることなくアクセスできるすべてのデータを印刷すること以外に何もしません。私は、在庫Android 4.0.3に根ざしていて、LBEを使用して許可を取り消しました。次のスクリーンショットが示すように、かなり面白いところで結果:

href="https://i.stack.imgur.com/4mfq5.jpg" rel="noreferrer"> スクリーンショット1  screenshot 2 ScreenShot 3
アプリ 許可を得た。 read_phone_state (より大きな変形のための画像をクリック)


  • 9988776544331 それでは、電話着信、発信、または進行中のものはありません。着信通話で「バックグラウンド」自体に対するこの権限を必要とするアプリはありません。

モバイルデータがアクティブかどうかを確認することもできます(<コード> 99887766544332

NOT アクセス可能なデータを識別しています:IMEI、SIMID、IMSI、および独自の電話番号。



  • ADモジュールの場合、最も 1
  • が必要なのでが必要なので(ここでのいくつかの答えで指摘したように) 2
  • 問題のアプリは(また、 Google Play に記載されているように、また調べるのは簡単)。


1 Dan's Post

Google Playポリシーでは、広告目的のためにあなたのIMEIを識別することができるアプリを申し込みます。すべての広告ライブラリは、Google-Play-Services提供されている「広告ID」を使用するように更新されました。そのためには、MEEIを使用しています。これはGoogleに報告する必要があります。


2 他の開発者はちょうど微妙な違いを指していました:許可は read に必要ではありません(指摘したように) notified notified に登録する必要があるかもしれません(検出受信と発信の電話がAndroid で呼び出します。システムが 9988776544333 を呼び出すと、これを自動的に取り扱う手段があるように思われますが、必ずしも適しているとは限りません。目覚まし時計を考えてください。特にプロファイルを呼び出し音の音量 "muted"に設定されている場合は、着信コールで自動的にを停止したくない場合があります。

3 a Dan からの補正:のみ アプリの「ターゲット」バージョンが1.5の場合は、デフォルトの追加権限を取得してください。 後のバージョンをターゲットにしたが、MINバージョンが1.5である場合は、アクセス許可が自動的に追加されません。


  1. Arno Welzel によって指摘されています。 着信電話が呼び出されると、 99887766654336 でイベントを使用できます。これによってトリガーされた場合、アプリはチェックできます。 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.


  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.

その理由は、Android 1.5以前がアプリケーションがそれらの権限を具体的に要求し、自動的にそれらを付与することを要求していないことです。 Android 1.6以降、それらの権限はアプリによって具体的に要求されなければなりません。ただし、アプリケーションがAndroid 1.5以降のデバイスで実行できるように指定した場合、その許可はデフォルトでアプリケーションに追加され、市場にはアプリケーションによって要求されているとおりの許可が表示されます。

SO SORでは、アプリケーションは実際に「電話状態と識別情報」にアクセスしない場合がありますが、開発者が自分のアプリケーションが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.


多くの広告発行者はこの許可を使用して、あらゆる種類の追跡目的で電話番号を取得します。ユニークなIDを取得する方法は他にもありますが、残念ながら古いAndroidバージョンでバギーです(ストーリーはより複雑です、例えば https://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id または http://android-developers.blowspot.com/2011/03/idening-app-installations.html < / a>より完全な話のために)。



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.



2  私の連絡先は私のAndroidで暗号化されていますか?  ( Are my contacts encrypted on my android ) 
私の連絡先は私のAndroidで暗号化されていて、どこにいますか? どのように私はそれらにアクセスできますか?パブリックAPI? (PCから) ...

0  Android / Dataフォルダに保存されている壁紙キャッシュがハッキングされているのは可能ですか? (根付かない)  ( It that possible for the wallpaper cache saved in android data folder being hac ) 
私のボーイフレンドは私と冗談を言って、私のプライベート写真を壁紙として設定していました。 写真を削除しましたが、壁紙はまだそこに残っています... ネット上の情報を閲覧した後、壁紙が応援後にのみアクセスできるフォルダに保存されていることがわかりました。 壁紙...

3  連絡先リストにアクセスすることなく電話をかけることは可能ですか?  ( Is it possible to make a call without having access to the contacts list ) 
電話の連絡先にアクセスすることなく電話をかけることは可能ですか?即ち友達に私の電話を使わせて、私の連絡先をアクセスするために私の連絡先をロックさせてください - 必ずしも連絡先にはない任意の数に電話をかける方法はありますか? ...

26  新しいChrome Updateにカメラとオーディオの録音を使用する権限が必要なのはなぜですか。  ( Why does the new chrome update want the permission to use my camera and audio re ) 
真剣に、それはカメラとオーディオの録音を使うことができると述べています。 AndroidのChromeがそれらの権限を要求しているのはなぜですか? 私は心配するべきですか? (私自身の強調している) ...

9  CyanogenMod 12.1を実行しているデバイスをどのように暗号化しますか?  ( How do you encrypt your device running cyanogenmod 12 1 ) 
cyanogenmod 12と12.1 「暗号化電話」の設定は壊れていて、かなりの間に行われています。他の方法で電話を暗号化する方法はありますか?暗号化/データディレクトリを使用してCMを電話機にサイドロードできますか?データを安全に保つための他の方法はあり...

2  4.4.4で実行することができますか?  ( Can app ops run on 4 4 4 ) 
私は " App Ops "スターターアプリ。それらのいずれかを実行すると、「残念ながら設定が停止した」と言ってダイアログが表示されます。そして私の唯一の選択は「OK」をタップすることです。だから、私はまだアプリOPS設定に到達できなかった。 しかし、このアプ...

6  アプリロッカーアプリはなぜ多くの権限が必要ですか?私は安全ですか?  ( Why do app locker apps need so many permissions am i safe ) 
私はアプリをパスワードに保護しようとしています、そしてそれはApp Lockersのためのアプリによってアプリケーションによって異なるようです。 なぜそれらの多くが完全な電話アクセスを必要とするのですか? https://市場のような人気があり、よく知ら...

24  データが暗号化されているAndroid Sync'dデータは何ですか?  ( What android syncd data is encrypted ) 
FireSheepプラグインのリリース付き Open Wi-FiネットワークでのWebサイトの閲覧に些細になりました第三者のリスナーによってハイジャックされるために。 Androidは便利なオートシンクオプションを提供します。しかし、地元のコーヒーショップ...

90  なぜ多くのアプリケーションでは電話の状態とアイデンティティを読む権限が必要ですか?  ( Why do so many applications require permission to read the phone state and ident ) 
なぜ多くのアプリケーションでは電話の状態とIDを読む権限が必要ですか。具体的には: <事前> <コード> 9988776655443330 例えばQuickPediaはウィキペディアポータルですが、電話にアクセスしたいです。このための説明は何ですか? ...

2  Android 10の「最近のファイル」からファイルを削除する方法?  ( How to remove file from recent files on android 10 ) 
ストックのファイルアプリで、Android 10(ピクセル2 XL)の「最近」カテゴリがあります。プライバシー上の理由から、このカテゴリのファイルを削除したいと思いました。ファイル名でこのファイルを検索した限りでは、システムに存在していないようですが、それでも...

© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有