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

我有一个

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.该应用尚未使用此功能发布

提前致谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值