帖子

听写中如何上传联系人信息

[复制链接]
  • TA的每日心情
    开心
    2017-12-29 09:56
  • 签到天数: 46 天

    [LV.5]常住居民I

    19485  楼主| 王水 发表于 2015-9-11 14:25:13 1#
    有的开发者的“联系人”不在手机的通讯录中,比如你的应用中的“好友列表“该怎么上传呢,其实和上传电话联系人原理是一样的。下面先分析一下官方听写Demo中上传联系人的代码:
    1. // 上传联系人
    2. case R.id.iat_upload_contacts:
    3. showTip(getString(R.string.text_upload_contacts));
    4. ContactManager mgr = ContactManager.createManager(IatDemo.this,
    5. mContactListener);
    6. mgr.asyncQueryAllContactsName();//同步联系人,联系人列表通过监听器回调的方式返回回来
    7. break;
    复制代码
    然后是获取联系人的回调
    1. /**
    2. * 获取联系人监听器。
    3. */
    4. private ContactListener mContactListener = new ContactListener() {
    5. @Override
    6. public void onContactQueryFinish(final String <font color="#ff0000">contactInfos</font>, boolean changeFlag) {
    7. // 指定引擎类型
    8. runOnUiThread(new Runnable() {
    9. public void run() {
    10. mResultText.setText(contactInfos);
    11. }
    12. });
    13. mIat.setParameter(SpeechConstant.ENGINE_TYPE,SpeechConstant.TYPE_CLOUD);
    14. mIat.setParameter(SpeechConstant.TEXT_ENCODING, "utf-8");
    15. ret = mIat.updateLexicon("contact", <font color="#ff0000">contactInfos</font>, mLexiconListener);
    16. if (ret != ErrorCode.SUCCESS) {
    17. showTip("上传联系人失败:" + ret);
    18. }
    19. }
    20. };
    复制代码
    从手机通讯录中获取到的联系人列表通过contactInfos参数返回回来(你可以将字符串contactInfos打印出来看一下格式,其实就是张三\n李四\n......),然后使用updateLexicon方法上传上去就可以了。
    那么你的”好友列表“怎么上传就很明显了,你可以将你的好友列表按照上述格式写到一个字符串中(或者提前标记到txt文件中,然后读取到字符串中),然后就可以直接使用updateLexicon方法将你的”好友列表“上传上去了。
    被坑的娃娃 发表于 2015-9-11 15:14:41
    推荐

    我又有问题了

    本帖最后由 被坑的娃娃 于 2015-10-21 14:34 编辑

    在上传了中文或者英文的联系人,语音识别不准确  怎么破
    使用道具 举报 回复
    jdyu 发表于 2015-9-15 15:14:10
    3#
    这么好的帖子,没人赞吗?
    使用道具 举报 回复
    小西哥 发表于 2015-9-21 08:32:30
    4#
    {:soso_e179:}
    使用道具 举报 回复
    喜欢雨天的我 发表于 2016-11-11 08:50:10
    5#
    好帖,我来赞、
    使用道具 举报 回复
    Edison3 发表于 2017-1-10 16:26:37
    6#
    哪里有上传联系人的demo啊
    使用道具 举报 回复