单独的来电接收器

发布于 2024-12-22 09:02:21 字数 78 浏览 2 评论 0原文

我们可以为传入和传出呼叫编写单独的广播接收器吗 因为我想对传入和传出呼叫执行不同的操作。 有什么方法可以区分它们。我尝试了各种方法但没有成功。

Can we write separate broadcast receiver for incoming and outgoing calls
because I want to perform different action on incoming and outgoing call.
Is there any way to distinguish them. I tried all sort of method but it didn't work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抚笙 2024-12-29 09:02:21

您可以让一个类扩展您应该使用 onCallStateChanged 方法的 PhoneStateListener 。一旦电话状态更改为 TelephonyManager.CALL_STATE_IDLE,您就可以解析通话记录:

final String[] callsProjection = new String[] { Calls.TYPE, Calls.DURATION, Calls.DATE, Calls.NUMBER };
final Cursor cursor = mContext.getContentResolver().query(Calls.CONTENT_URI, callsProjection, null, null, Calls.DATE + " DESC");

获得该信息后,您可以轻松检查通话类型的最后一个条目:

    if (cursor.moveToFirst()) {
        final int idType = cursor.getColumnIndex(Calls.TYPE);
        if(t == Calls.INCOMING_TYPE) {            
        } else if (t == Calls.OUTGOING_TYPE) {
        } else { /* missed call */ }
    }
    cursor.close();

注意:< /strong> 在解析调用日志之前,您可能需要等待几秒钟(3 秒钟就足够了),以确保信息写入日志中!

You can have a class extend the PhoneStateListener where you should onCallStateChanged method. Once the phone state changes to TelephonyManager.CALL_STATE_IDLE you can parse the call log:

final String[] callsProjection = new String[] { Calls.TYPE, Calls.DURATION, Calls.DATE, Calls.NUMBER };
final Cursor cursor = mContext.getContentResolver().query(Calls.CONTENT_URI, callsProjection, null, null, Calls.DATE + " DESC");

Once you have that info, you can easily check the last entry for the call type:

    if (cursor.moveToFirst()) {
        final int idType = cursor.getColumnIndex(Calls.TYPE);
        if(t == Calls.INCOMING_TYPE) {            
        } else if (t == Calls.OUTGOING_TYPE) {
        } else { /* missed call */ }
    }
    cursor.close();

NOTE: Before parsing the call log you might want to wait a few seconds (3 should be enough), just to be sure the information gets written in the log!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文