android studioでkotlinにてアプリを作ってます。
〇やりたいこと
AlarmManagerで指定した時間に、BroadcastReceiverにて処理をしたいです。
〇課題
BroadcastReceiverの処理は、アプリ起動して、アプリを開いているときには問題なく動作し、
soundManagerにてサウンドを際するが、下記状態において動作しません。
1.アプリがバックグラウンド待機状態
2.アプリが立ち上がってない状態
どのような記述にすればよいのか、
お分かりになる方がいらっしゃいましたらご教授いただけないでしょうか。
MainActivity
1 2class MainActivity { 3 private lateinit var binding: ActivityMainBinding 4 5 private val myReceiver = object: BroadcastReceiver() { 6 override fun onReceive(context: Context?, intent: Intent?) { 7 Log.d("debug", "戻ってきた") 8 soundManager.play() //サウンド再生 9 } 10 } 11 12 override fun onPause() { 13 super.onPause() 14 } 15 16 override fun onCreate(savedInstanceState: Bundle?) { 17 super.onCreate(savedInstanceState) 18 binding = ActivityMainBinding.inflate(layoutInflater) 19 setContentView(binding.root) 20 21 soundManager = SoundManager.getInstance(this) 22 23 LocalBroadcastManager.getInstance(this).registerReceiver( 24 myReceiver, 25 IntentFilter("test.app.actions.SERVICE_FINISHED") 26 ) 27 startService(Intent(this, MyReceiver::class.java)) 28 } 29} 30 31
MyReceiver
1 2class MyReceiver: BroadcastReceiver() { 3 4 override fun onReceive(context: Context?, intent: Intent?) { 5 Log.d("debug", "MyReceiver") 6 7 if (context != null) { 8 Log.d("debug", "MyReceiver Inside") 9 MyNotification.sendNotification(context) 10 11 LocalBroadcastManager.getInstance(context).sendBroadcast( 12 Intent("test.app.actions.SERVICE_FINISHED") 13 ) 14 } 15 } 16}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/17 00:41
2021/10/19 22:57
2021/10/26 11:38