我正在开发一个音频播放器应用程序,我需要确定用户的设备何时连接到 Android Auto。
该应用程序具有警报功能,我想确保它不会在用户开车时响起。
确定我的音乐服务是否(MediaBrowserService
)有效,我可以在 onCreate 和 onDestroy 中使用一些标志,或者注册“com.google.android.gms.car.media.STATUS”操作的接收器- 但这是一个坏主意,因为闹钟可以随时触发。不仅是当我的音乐服务运行时。
为了报警,我用AlarmManager
和待定意图。
也许有人面临类似的问题?
您可以像谷歌示例一样检查 UIMode:
https://github.com/googlesamples/android-UniversalMusicPlayer/blob/master/mobile/src/main/java/com/example/android/uamp/utils/CarHelper.java#L106
public static boolean isCarUiMode(Context c) {
UiModeManager uiModeManager = (UiModeManager) c.getSystemService(Context.UI_MODE_SERVICE);
if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_CAR) {
LogHelper.d(TAG, "Running in Car mode");
return true;
} else {
LogHelper.d(TAG, "Running on a non-Car mode");
return false;
}
}
然后在运行警报检查之前isCarUiMode
result
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)