我有这个广播接收器:
class AlarmReceiver: BroadcastReceiver() {
var player: MediaPlayer? = null
override fun onReceive(context: Context?, intent: Intent?) {
val message = intent?.getStringExtra("EXTRA_MESSAGE") ?: return
player = MediaPlayer.create(context, Settings.System.DEFAULT_RINGTONE_URI)
player?.isLooping = true
player?.start()
}}
一旦播放器因警报而启动,如何停止播放器?
您应该创建单独的
Service
,它可以在后台工作(可能您需要ForegroundService
)。从您的 BroadcastReceiver
您应该启动或通知您的服务启动警报,并在该服务的 onDestroy
方法中您应该解雇玩家(或通过其他一些操作)