在Android 9.0中没有获得用户拨打的号码即使我在运行时也声明了读取呼叫日志和REad电话状态权限

问题描述 投票:0回答:1

在我的应用程序中,我试图拦截所有以00字符串开头的传出呼叫。我使用Telephony Manager来获取传出号码,然后拦截它。所有代码在Android 9.0之前都正常运行。但是在Android Pie中,一旦我拨打电话,我的应用就崩溃了,因为我没有在Receiver中获得用户拨打号码。

android android-9.0-pie
1个回答
0
投票

“但是,如果没有READ_CALL_LOG权限,则PHONE_STATE_CHANGED广播和PhoneStateListener中提供的电话号码字段为空。”

因此,在尝试访问任何拨打的号码之前,您必须确保用户授予读取电话号码的权限。此外,您还必须保留支票和备用计划,以防用户拒绝许可。您的应用应该很好地处理这种情况,以避免任何空指针。

© www.soinside.com 2019 - 2024. All rights reserved.