我有一个

Android应用程序具有工作自动功能,已被商店拒绝,因为:

“您的应用程序不支持所有必需的语音命令.

例如,您的应用程序不包含动作“android.media.action.MEDIA_PLAY_FROM_SEARCH”的Intent过滤器.“

所以我看起来至少让应用程序响应“在X应用程序上播放音乐”,但通过查看文档,我无法让它工作.我将此添加到我的主要活动(这不是启动器活动,它通过活页夹控制服务)

触发MediaBrowserServiceCompat,它以这种方式初始化:

表现:

android:name=".Services.RadioService"

android:enabled="true"

android:exported="true">

部分代码:

@Override

public void onCreate() {

super.onCreate();

audioManager = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE);

mSession = new MediaSessionCompat(this, "RService");

mSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS | MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS

| MediaSessionCompat.FLAG_HANDLES_QUEUE_COMMANDS);

mSession.setCallback(mCallback);

mSessionConnector = new MediaSessionConnector(mSession);

setSessionToken(mSession.getSessionToken());

setMediaBrowser();

initializeReceiver();

C_F_App.createNotificationChannelPlayer(getApplicationContext());

rNController = new RadioNotificationController(this, mSession, getApplicationContext());

}

final MediaSessionCompat.Callback mCallback =

new MediaSessionCompat.Callback() {

@Override

public void onPlayFromMediaId(String mediaId, Bundle extras) {

playForAuto(mediaId);

}

@Override

public void onPlayFromSearch(String query, Bundle extras) {

super.onPlayFromSearch(query, extras);

Log.d("Test", "Test");

}

@Override

public void onStop() {

playPause();

}

@Override

public void onPlay() {

playPause();

}

@Override

public void onPause() {

playPause();

}

};

public void setMediaBrowser() {

mediaBrowser = new MediaBrowserCompat(getApplicationContext(),

new ComponentName(getApplicationContext(), this.getClass()),

new MediaBrowserCompat.ConnectionCallback() {

@Override

public void onConnected() {

super.onConnected();

}

@Override

public void onConnectionSuspended() {

super.onConnectionSuspended();

}

@Override

public void onConnectionFailed() {

super.onConnectionFailed();

}

}, null);

mediaBrowser.connect();

}

@Override

public long getSupportedPrepareActions() {

return PlaybackStateCompat.ACTION_PREPARE_FROM_MEDIA_ID |

PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID |

PlaybackStateCompat.ACTION_PREPARE_FROM_SEARCH |

PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH;

}

自动功能运行良好.

当我尝试从模拟器上调用此应用程序来播放音乐时它只是没有做任何事情,它没有说错误或其他东西,它只是关闭谷歌说话然后返回到正常显示.永远不会调用onPlayFromSearch方法,如果发送语音命令,它应该是Auto会调用的方法.

有人能帮助我弄清楚我做错了什么吗?谷歌文档这种方式很无用,谷歌UAP看起来不像老版本那样具有这种功能,但是看看旧的UAP版本,我无法弄清楚我做错了什么.

PS.该应用尚未使用此功能发布

提前致谢.

android auto 没声音,无法在Android Auto Media App上运行语音命令相关推荐

  1. win10音频服务器未修复,大神教你处理win10系统没声音音量图标红叉“音频服务未运行”的修复步骤...

    大家在使用电脑工作的时候会遇到win10系统没声音音量图标红叉"音频服务未运行"的问题,尽管处理方法特别的容易,可是也有很多朋友不知道win10系统没声音音量图标红叉"音 ...

  2. android关闭触摸声音,如何在Android中关闭所有触摸声音 | MOS86

    开箱即用,您的电话可能会为您所做的每件事发出令人讨厌的声音. 这些可能会使您发疯,这仅仅是因为您厌倦了噪音,或者可能是因为它打扰了周围的人. 值得庆幸的是,您可以禁用手机发出的哑音,仅在需要时才发出声 ...

  3. Android项目中使用激光推送时在模拟器上运行时报Fatal signal 11的解决

    本人一直用真机调试极光推送,一直没问题,今天准备在模拟器上运行项目看看,刚运行就爆掉了,感觉有些奇怪,遂查日志: 呵呵,致命错误:Fatal signal 11 (SIGSEGV) at 0x0007 ...

  4. idea运行android usb调试,android-Intellij Idea不允许在真实设备上运行应...

    我拥有配置了Oracle SDK 1.6和Android SDK的Idea 12, $./adb devices List of devices attached S5830c10eb068 devi ...

  5. android x86 oreo,Android-x86 8.1 RC1发布:PC上运行Android Oreo

    IT之家6月19日消息 在PC上运行Android系统的方式很多,但最可靠的还是Android-x86项目,现在其最新版已经发布,基于Android 8.1 Oreo. Android-x86是在PC ...

  6. android pc 操作系统,Bliss OS 12:可在PC上运行最新的Android 10移动操作系统

    Bliss OS是一个基于Android-x86项目的开源操作系统,能让您在任意Linux,windows或Chromebook PC或平板电脑设备上运行最新的Android 10移动操作系统.该系统 ...

  7. 计算机上播放时没声音什么故障,事实:在笔记本电脑上播放歌曲时如果没有声音怎么办...

    在笔记本电脑上播放时如果没有声音该怎么办?关于在笔记本电脑上播放时无声音的问题,有些网民仍然不知道该怎么办,所以让我告诉您如何在笔记本电脑上播放无声音时解决问题.希望我能为您服务!播放歌曲时,笔记本电 ...

  8. android关闭触摸声音,如何在Android中以编程方式禁用触摸时的振动和声音?

    我正在使用ImageView的OnLongClickListener创建一个应用程序并打开alertdialog,并且还有ontouch缩放功能.但是当我长时间按压而不是振动时,可以在长按聆听器上关闭 ...

  9. android电视hdmi声音录音,RK3288 android 5.1 HDMI 喇叭同时输出声音

    因为HDMI I2S & CODEC I2S 在芯片内部都是同一个I2S, 因此CODEC有声音时候,也有声音通过I2S 发送到HDMI, 这样取消掉HDMI Audio 检测即可实现HDMI ...

最新文章

  1. Linux 命令:pwd、touch、ll、wget
  2. Android两个注意事项.深入了解Intent和IntentFilter(两)
  3. 地球上这10个奇幻景观,带你踏入外太空
  4. mysql 查询 投影,MySql-连接查询
  5. MFC的UDP编程实现
  6. H3C SecPath F100-C 防火墙默认配置
  7. Confluence 6 为站点禁用匿名用户访问
  8. 中配置kylin_Kylin集群模式部署(使用同一HBase存储)
  9. 干货,分享!后台模板hplus 好看的后台纯模板!!!
  10. 卸载#流氓软件#快压的方法
  11. LaTeX实战经验:如何插入程序代码
  12. Altium未连接的网络DRC检查不出的问题
  13. linux安装包PGP加密验证
  14. 操作系统、计算机网络、数据库系统概论等相关面试问题
  15. spring 远程连接 rabbitMQ 报错
  16. Java读取环境变量
  17. 学习视频剪辑整理和所感
  18. 查看Linux是x86还是x64
  19. 网吧倒闭了,100台电脑回收25万多元,谁说电脑店难经营?
  20. Python 生成随机手机号码

热门文章

  1. win7三国杀源码编译
  2. 【DB笔试面试164】在Oracle中,如何彻底停止expdp数据泵进程?
  3. python的文件可分为_Python 文件类型
  4. 人,神,魔,三界众生大混战,梦幻web开启西游新篇章
  5. win10 IDEA 链接远程hadoop 2.6 集群
  6. SAP公司间销售与采购
  7. DVWA全套学习打靶通关教程
  8. java实现文件导出到dat功能_dat转换什么格式的 JAVA中文件的读写 I/O 输入输出流(3)...
  9. 【python教程入门学习】Python变量作用域(通俗易懂)
  10. 【HDU2036】改革春风吹满地