From: TrillGates Date: Tue, 3 Aug 2021 07:02:12 +0000 (+0800) Subject: play voice of wear state change. X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=1f9acd21583a30fd85a508e8f9758807fbf056b9;p=IcTemperature.git play voice of wear state change. --- diff --git a/app/src/main/java/com/ic/temperature/utils/Constants.kt b/app/src/main/java/com/ic/temperature/utils/Constants.kt index a530971..7d23b69 100644 --- a/app/src/main/java/com/ic/temperature/utils/Constants.kt +++ b/app/src/main/java/com/ic/temperature/utils/Constants.kt @@ -2,7 +2,6 @@ package com.ic.temperature.utils object Constants { const val ACTION_ANTI_OFF0: String = "com.ic.ACTION_ANTIOFF" - //integer eventID =1 脱落, eventID =0 佩戴 const val KEY_ANTI_EVENT = "eventID" const val STATE_ANTI_ON = 0 diff --git a/app/src/main/java/com/ic/temperature/viewmodel/TemperatureViewModel.kt b/app/src/main/java/com/ic/temperature/viewmodel/TemperatureViewModel.kt index 90c7a0e..6e3d68c 100644 --- a/app/src/main/java/com/ic/temperature/viewmodel/TemperatureViewModel.kt +++ b/app/src/main/java/com/ic/temperature/viewmodel/TemperatureViewModel.kt @@ -5,6 +5,8 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter +import android.media.AudioManager +import android.media.AudioManager.FX_FOCUS_NAVIGATION_DOWN import android.os.Handler import android.os.Looper import android.os.Message @@ -22,7 +24,7 @@ import com.ic.temperature.utils.Constants.STATE_ANTI_ON import java.lang.ref.WeakReference class TemperatureViewModel() : ViewModel() { - + lateinit var mContext: Context private val repository by lazy { @@ -280,7 +282,12 @@ class TemperatureViewModel() : ViewModel() { inner class WristWearStateReceiver : BroadcastReceiver() { + private var audioManager: AudioManager? = null; + override fun onReceive(context: Context, intent: Intent?) { + if (audioManager == null) { + audioManager = context.getSystemService(Context.AUDIO_SERVICE) as AudioManager? + } //如果来了佩戴的广播,判断到没有绑定远程服务的话,那么就绑定吧 val state = intent!!.getIntExtra(KEY_ANTI_EVENT, STATE_ANTI_NONE) IcLog.i(TAG, "on AntiStateChange....$state") @@ -288,7 +295,10 @@ class TemperatureViewModel() : ViewModel() { IcLog.i(TAG, "state error === > $state") return } - + //播放按键音 + if (audioManager != null) { + audioManager?.playSoundEffect(FX_FOCUS_NAVIGATION_DOWN) + } if (state == STATE_ANTI_OFF) { mCheckTips.value = context!!.getString(R.string.no_wearing_device_tips_text) //脱落了,给出提示