如何在android 5.0中使用键事件接受呼叫(语音)?

时间:2015-02-04 13:00:34

标签: android android-5.0-lollipop phone-call

我正在开发一个应用程序,我想在几秒钟后自动接受来电。我使用电话管理器Intent尝试了很多代码,但5.0中没有任何工作。当我的应用程序打开时,以下代码正常工作。但在我的后台应用程序中,代码无效。

  new Thread(new Runnable() {
      @Override
    public void run() {

        try {

            Runtime.getRuntime().exec( "input keyevent " + KeyEvent.KEYCODE_HEADSETHOOK );
        }
        catch (Throwable t) {

            // do something proper here.
        }
    }
}).start();

请任何人帮助我,我正在使用Thread。

提前致谢。

1 个答案:

答案 0 :(得分:0)

在你的清单中添加:

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

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

创建一个名为CallReceiver的扩展BroadcastReceiver

的类

实施onReceive并实例化PhoneStateListener

你需要实现和处理这样的监听器,例如看看这个教程:

http://www.tutorialforandroid.com/2009/01/get-phone-state-when-someone-is-calling_22.html

收到CALL_STATE_RINGING

后,您可以挂机