| You need/needed READ_PHONE_STATE if you wanted to suspend your app data/saving and allow calls to be accepted you did. For instance you are playing a game and a call comes in, you needed them to allow that and to possibly not crash your game and save your data as well as for some analytics/social network integration. Also if you allowed os level music to be played over game audio, you need that to handle music and app state when a call came in. It was/is a default on many large app platforms including game engines like Unity and any social network app integration such as Google Play Game Services and Unity analytics [1][2]. When you have READ_PHONE_STATE you could get the number and more. For games it wasn't such a big thing but for apps like Facebook that are always running and kept alive playing a silent sound [3], it could get every call that ever came in on record and apparently did. With these holes, apps could scrape everything and they did [4]. [1] https://forum.unity.com/threads/unity-5-1-adds-android-permi... [2] https://stackoverflow.com/questions/39668549/why-has-the-rea... [3] https://www.reddit.com/r/iphone/comments/3opxhm/facebook_app... [4] https://arstechnica.com/information-technology/2018/03/faceb... |