【Android】通过耳机调起语音助手App配置
16lz
2021-01-23
一、AndroidManifest.xml 配置:
<activity-alias android:name="包名" android:icon="@mipmap/ic_launcher" android:label="测试语音" android:targetActivity="调起界面"> <intent-filter> <action android:name="android.intent.action.ASSIST" /> <action android:name="android.intent.action.VOICE_COMMAND" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.VOICE_LAUNCH" /> intent-filter> activity-alias>
二、配置广播
<receiver android:name=".MediaButtonReceiver"> <intent-filter> <action android:name="android.intent.action.MEDIA_BUTTON" /> <action android:name="android.media.AUDIO.BECOMING_NOISY" /> intent-filter> receiver>
三、广播
public class MediaButtonReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) { KeyEvent keyEvent = intent.getParcelableExtra("android.intent.extra.KEY_EVENT"); if (keyEvent != null) { LogUtil.i("keyEvent _ keyevent --> :" + keyEvent.toString()); int keyCode = keyEvent.getKeyCode(); LogUtil.i("keyCode __ : " + keyCode); switch (keyCode) { case KeyEvent.KEYCODE_MEDIA_PAUSE: break; case KeyEvent.KEYCODE_MEDIA_PLAY: break; case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE: break; case KeyEvent.KEYCODE_HEADSETHOOK: break; } } } }}
四、注册广播成为唯一(小米不适用)
ComponentName componentName;AudioManager manager;@Override public void onCreate() { super.onCreate(); manager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); componentName = new ComponentName(getPackageName(), MediaButtonReceiver.class.getName()); manager.registerMediaButtonEventReceiver(componentName); manager.setBluetoothScoOn(true); manager.startBluetoothSco(); }@Override public void onDestroy() { manager.setBluetoothScoOn(false); manager.stopBluetoothSco(); manager.unregisterMediaButtonEventReceiver(componentName); super.onDestroy(); }
更多相关文章
- Android实现录音功能及播放语音功能
- android语音识别 android.speech 包分析
- Android 蓝牙耳机 语音输入与播放
- 小米,红米手机android 6.0以下 权限管理
- Android Launcher 如何去掉主菜单,所有应用摆在桌面,类似小米桌面
- android智能家居在线语音控制
- 基于Android的传感器和语音识别的设计与实现