gpt4 book ai didi

android - 在 android API29+ 中检测来电和去电

转载 作者:行者123 更新时间:2023-12-03 21:12:46 25 4
gpt4 key购买 nike

关于在 android 中检测来电和去电有很多问题,但它们都是旧的,而且 android 也弃用了有用的功能,而且 google play 拒绝了我的应用程序,因为我正在使用它们。
为了检测我使用的拨出电话:

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
也听 android.intent.action.NEW_OUTGOING_CALL广播监听器。
根据谷歌文档( this )我们应该使用 CallRedirectionServiceCallScreeningService .但这些服务适用于 API 29+。
那么有什么方法可以检测不弃用且不使用敏感权限的来电和去电?
如果有任何调用,我想关闭我的套接字连接,如果没有,我想重新打开它。

最佳答案

您需要 ACTION_PHONE_STATE_CHANGED 的广播接收器
每当电话状态从空闲、振铃、摘机改变时,这将调用您收到的电话,因此从以前的值和您可以检测到的新值是否是来电/去电。
所需的权限是 "android.permission.READ_PHONE_STATE"但是如果你也想收到EXTRA_INCOMING_NUMBER在该广播中,您需要另一个权限:"android.permission.READ_CALL_LOG"这是 list 的接收器定义:

<receiver android:name="PhoneStateReceiver"> 
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
</receiver>
代码是这样的:
public class PhoneStateReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
...
}
}

关于android - 在 android API29+ 中检测来电和去电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62653720/

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