一定時間経過後、たとえAndroid端末がスリープ状態だったとしてもActivityを起動する処理を実装しようとしています。(アラーム時計の処理です)
時間を指定して、それをServiceとReceiver用いて、アプリがバックグラウンドにいてもその時間をカウントダウンしAcrivityを強制起動する処理を作りました。
以下Receiverの処理です。
java
1public class TimerReceiver extends BroadcastReceiver{ 2 @Override 3 public void onReceive ( Context context, Intent intent ) { 4 Intent notification = new Intent(context, AlermNortificationActivity.class); 5 notification.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 6 context.startActivity(notification); 7 } 8}
こちらの処理はtargetSDK23では問題なく動作していました。
しかしターゲットのバージョンを(targerSDK29、Android10)へアップデートしたところ、動作しなくなりました。
ReceiverからAlermNortificationActivityを起動する際に、このアプリが開いている状態だとうまく起動しますが、バックグランド(アプリを閉まっている状態)からは起動しなくなりました。
最新のバージョンではこのプログラムではなぜ動作しないのでしょうか?またどの部分を直すべきでしょうか?
どなたかわかる方がいたらご教授お願いいたします。
あなたの回答
tips
プレビュー