首页 > 解决方案 > 如何检测来电和去电?

问题描述

我正在开发一个客户端应用程序。他想把安卓手机送给他的员工。已经安装了我们的应用程序。在我们的应用程序中,他想获取每个电话的记录。

我知道该怎么做,我制作了 BoradcastReceiver。但它只适用于旧版本。Android Nougat 和 Pie 等新版本对其有限制。而且我没有任何捕捉呼叫事件的有效解决方案。

所以这就是我在使用旧版本的应用程序中所做的事情。

 <receiver android:name=".MyCallReceiver"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.PHONE_STATE"></action>
        </intent-filter>
    </receiver>


public class MyCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

    Toast.makeText(context,"Call Event",Toast.LENGTH_LONG).show();
}
}

我发现的解决方案:

所以在旧版本上我正在看这个吐司。但相同的代码不适用于新版本。我读过我们需要在代码中声明相同的广播。

所以在上面的研发我有些困惑

困惑:在代码中声明时,即使我的应用程序根本没有运行,它还能工作吗?

另一个问题:

我们还想跟踪其他电话吗?有没有可能像whatsapp和viber的电话一样?

请给我详细回答情况1该怎么做,甚至可以跟踪whatsapp和viber以及其他类似应用程序的调用吗?

标签: javaandroid

解决方案


推荐阅读