gpt4 book ai didi

android - 从 PHONE_STATE Intent 操作中读取数字 android 9 不工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:27:02 24 4
gpt4 key购买 nike

我试图通过 onrecieve() 方法从 list 文件中注册的以下广播接收器的 intent extra 中检索电话号码。

  <intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>

除了在我的 Pixel 2 设备中升级的 Android Pie 之外,我可以成功读取所有版本的电话号码。根据documentation ,应用程序需要读取电话号码的额外权限,即 READ_CALL_LOG 权限和 READ_PHONE_STATE 权限,但即使在允许这些权限后,我仍然缺少 READ_CALL_LOG 权限,因此我无法读取电话号码。请帮我解决这个问题。

最佳答案

确保您在 Android 6.0+ 的运行时授予 READ_PHONE_STATE 和 READ_CALL_LOG 权限:
https://developer.android.com/distribute/best-practices/develop/runtime-permissions

另请注意,授予这两个权限后,您将收到两次 ACTION_PHONE_STATE_CHANGED 广播 Intent 操作;一个用电话号码填充 EXTRA_INCOMING_NUMBER,另一个用空白填充。

您可以在此处找到更多信息:
https://developer.android.com/reference/android/telephony/TelephonyManager.html#ACTION_PHONE_STATE_CHANGED

关于android - 从 PHONE_STATE Intent 操作中读取数字 android 9 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51739395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com