2

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

4

1 回答 1

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} .....)
于 2013-03-13T06:20:08.427 回答