在android中说出传入的来电显示

时间:2013-03-13 05:56:51

标签: android android-intent android-contacts

我希望在Android中创建一个应用程序,当来电来电时应该说出来电者的姓名或号码。我不知道我应该从哪里开始。谁能帮我? 我能否将android的默认语音应用程序包含到我的应用程序中

1 个答案:

答案 0 :(得分:1)

我没有这样做,但你可以尝试这件事

首先注册MyPhoneStateListener。

private class MyPhoneStateListener1 extends PhoneStateListener {
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        super.onCallStateChanged(state, incomingNumber);
        if (state == TelephonyManager.CALL_STATE_RINGING) {
                           // the incoming number is is the one you wanted
        }
    }
}

现在使用一些TextToSpeech api将传入号码转换为语音。我没有使用过TextToSpeech,因此无法提供更多建议。

如果您想获取该名称,请使用以下内容获取联系人姓名

Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
 resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME} .....)