我正在开发一个音频播放器应用,我需要确定用户的设备何时连接到 Android Auto。
该应用程序有一个闹钟,我想确保它不会在用户开车时响起。
要确定我的音乐服务 (MediaBrowserService
) 是否正常工作,我可以在 onCreate 和 onDestroy 中使用一些标志,或者注册 reciver for "com.google.android.gms.car.media.STATUS" action - 但这是个坏主意,因为闹钟可以随时触发。不仅在我的音乐服务运行时。
对于警报,我使用 AlarmManager
和未决 Intent 。
也许有人遇到过类似的问题?
最佳答案
您可以像在谷歌示例中那样检查 UIMode:
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
结果
关于java - 如何检测手机是否连接到android auto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36293866/