android aidl 服务里开启语音没有权限
bdwk_dwy 发布于2019-06 浏览:1103 回复:4
0
收藏

我现在的项目里有成功使用了语音合成的sdk.

但在另一个项目里,有aidl.

我在aidl 项目的里用到以下代码:

  public class VoiceImp extends IVoice.Stub {


    public void start(){
        Intent intent = new Intent(mContext, VoiceService.class);

//        mContext.startService(intent);

//        mContext.bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
    }
}

这是一个自定义实现类继承aidl生成的stub,我在这里面开启VoiceService,我的语音业务即在这个服务里。现在的问题是:当我用startService开启VoiceService时,该服务里的语音功能一切正常.当我用bindService绑定该服务时,语音功能就会报No recorder permission","sub_error":9001 错误。但我是注册了相关的权限的,要不然用startService开启服务时,它也会报错的。希望就此问题得到解答,谢谢!

我的语音业务在VoiceService里。当我用startService

收藏
点赞
0
个赞
共4条回复 最后由用户已被禁言回复于2022-04
#5bdwk_dwy回复于2019-06

1、我在官方demo里新建aidl,如图:

2、在官方demo里新建远程服务:

3、创建一个新model,作为客户端用以测试官方demo里的远程服务:

以上 就是最简单的aidl 测试demo.

当aidl 的客户端通过调用绑定的远程服务方法去开启语音时就会出现权限错误

0
#4bdwk_dwy回复于2019-06

你们自己可以做一个aidl 的demo 试试

0
#3bdwk_dwy回复于2019-06

我自己实现录音代码是没有问题的。

我如何上传demo?

0
#2fujiayi1984回复于2019-06

如何从aidl 开启录音权限是你自己的逻辑,可以尝试自己写下录音代码。

如果觉得我们sdk和aidl冲突,可以改下我们的官方demo,把这个问题复现出来

0
TOP
切换版块