在 Android 中处理来电

发布于 11-02 16:48 字数 90 浏览 4 评论 0原文

我想在 Android 中处理来电。
实际上我想设置一个持续时间,如果我的手机接到任何电话,就会自动向他们每个人发送一条消息。

有什么想法吗?

I want to handle incoming call in Android.
Actually I want to set a time duration in which if my cell phone receive any call then automatically a message send to each of them.

Any ideas?

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

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

发布评论

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

评论(2

那请放手2024-11-09 16:48:28

只需将您的类扩展为 PhoneStateListener 并重写 onCallStateChanged 方法即可。示例代码:

class myCallListener extends PhoneStateListener{

        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            // TODO Auto-generated method stub
            switch (state) {
            case TelephonyManager.CALL_STATE_RINGING:
                    // your logic here
                break;

            default:
                break;
            }

            super.onCallStateChanged(state, incomingNumber);

        }
    }

Just extend your class to PhoneStateListener and override onCallStateChanged method. Sample code:

class myCallListener extends PhoneStateListener{

        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            // TODO Auto-generated method stub
            switch (state) {
            case TelephonyManager.CALL_STATE_RINGING:
                    // your logic here
                break;

            default:
                break;
            }

            super.onCallStateChanged(state, incomingNumber);

        }
    }
空城旧梦2024-11-09 16:48:28

您需要在 ActivityService 中声明 PhoneStateListener

PhoneStateListener phoneStateListener = new PhoneStateListener() {
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        if (state == TelephonyManager.CALL_STATE_RINGING) {
            ....
        } else if(state == TelephonyManager.CALL_STATE_IDLE) {
            ....
        } else if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
            ....
        }
        super.onCallStateChanged(state, incomingNumber);
    }
};

并向 AndroidManifest.xml 添加以下权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

希望如此有帮助。

You need to declare PhoneStateListener in your Activity or Service:

PhoneStateListener phoneStateListener = new PhoneStateListener() {
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        if (state == TelephonyManager.CALL_STATE_RINGING) {
            ....
        } else if(state == TelephonyManager.CALL_STATE_IDLE) {
            ....
        } else if(state == TelephonyManager.CALL_STATE_OFFHOOK) {
            ....
        }
        super.onCallStateChanged(state, incomingNumber);
    }
};

And add following permission to AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

Hope this helps.

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