Closed nsaito92 closed 4 years ago
実現したいこと
status
の状態をチェックする。
FLAG_CANCEL_CURRENT
)Pendingintent.cancel()
)status
の状態をチェックする。
pendingintent.cancel()
)_id
status
hour
minute
と組み合わせて、アラームが鳴動する 「時間」 の判断に使用する。minute
hour
と組み合わせて、アラームが鳴動する 「時間」 の判断に使用する。week
次の作業
以下のエラーが発生。
06-15 16:46:27.249 11253-11253/org.bitbucket.snaoto22.frock E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.bitbucket.snaoto22.frock, PID: 11253
java.lang.RuntimeException: Unable to stop service com.example.naotosaito.clocktest.AlarmService@9842dc: java.lang.NumberFormatException: null
at android.app.ActivityThread.handleStopService(ActivityThread.java:3418)
at android.app.ActivityThread.-wrap27(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1625)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:6223)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Caused by: java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:483)
at java.lang.Integer.parseInt(Integer.java:556)
at com.example.naotosaito.clocktest.AlarmService.onDestroy(AlarmService.java:80)
at android.app.ActivityThread.handleStopService(ActivityThread.java:3401)
at android.app.ActivityThread.-wrap27(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1625)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:241)
at android.app.ActivityThread.main(ActivityThread.java:6223)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
onDestroy()
呼び出し時、requestcodeがnullになっていたため型変換が出来ていなかったため。ONになっているアラーム設定が二つある状態で、内部データを確認。
アラーム設定一覧を取得。
$ adb shell dumpsys alarm | grep com.sonyericsson.organizer
一番近いアラーム設定のみ、AlarmManagerにセットされている模様。
1592778600000 : Your time zone: 2020年6月22日 月曜日 07:30:00 GMT+09:00
上記のアラーム設定をOFFにして、サイドアラーム取得コマンドを実行。 次に近いアラーム設定が一つだけ設定される様になった。
1592782200000 : Your time zone: 2020年6月22日 月曜日 08:30:00 GMT+09:00
03cea083c6b4b81188e217542203f23b74a68103 対応後の単体テストログ。
06-30 23:29:50.420 21210-21210/org.bitbucket.snaoto22.frock D/AlarmServiceSetter: UpdateAlarmService
06-30 23:29:50.420 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsOpenHelper: FrockSettingsOpenHelper
06-30 23:29:50.420 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: getValidCalender
06-30 23:29:50.421 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: getCursorForValidSettings
06-30 23:29:50.429 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: cursor.getCount() = 4
06-30 23:29:50.429 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 1st : 0
06-30 23:29:50.430 21210-21210/org.bitbucket.snaoto22.frock D/ClockUtil: convertStringToArray
06-30 23:29:50.430 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 0
06-30 23:29:50.430 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 1
06-30 23:29:50.431 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 2
06-30 23:29:50.431 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 3
06-30 23:29:50.432 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 4
06-30 23:29:50.432 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 5
06-30 23:29:50.433 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 6
06-30 23:29:50.456 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: alarmCld = Wed Jul 01 09:00:00 GMT+09:00 2020
06-30 23:29:50.456 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 1st : 1
06-30 23:29:50.456 21210-21210/org.bitbucket.snaoto22.frock D/ClockUtil: convertStringToArray
06-30 23:29:50.456 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 0
06-30 23:29:50.457 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 1
06-30 23:29:50.458 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: alarmCld = Fri Jul 03 06:00:00 GMT+09:00 2020
06-30 23:29:50.458 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 1st : 2
06-30 23:29:50.458 21210-21210/org.bitbucket.snaoto22.frock D/ClockUtil: convertStringToArray
06-30 23:29:50.458 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 0
06-30 23:29:50.459 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: alarmCld = Wed Jul 01 23:22:00 GMT+09:00 2020
06-30 23:29:50.459 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 1st : 3
06-30 23:29:50.459 21210-21210/org.bitbucket.snaoto22.frock D/ClockUtil: convertStringToArray
06-30 23:29:50.459 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 0
06-30 23:29:50.460 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 1
06-30 23:29:50.460 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: root 2nd cnt2 = 2
06-30 23:29:50.461 21210-21210/org.bitbucket.snaoto22.frock D/FrockSettingsHelperController: alarmCld = Wed Jul 01 08:05:00 GMT+09:00 2020
06-30 23:29:50.461 21210-21210/org.bitbucket.snaoto22.frock D/ClockUtil: isClosestCalender
06-30 23:29:50.463 21210-21210/org.bitbucket.snaoto22.frock D/AlarmServiceSetter: closestcalender = Wed Jul 01 08:05:00 GMT+09:00 2020
再起動前
SCV46:/ $ dumpsys alarm | grep org.bitbucket.snaoto22.frock
RTC #3: Alarm{a5ea388 type 1 when 1593568800220 org.bitbucket.snaoto22.frock}
tag=*alarm*:org.bitbucket.snaoto22.frock/com.example.naotosaito.clocktest.AlarmService
operation=PendingIntent{34f4121: PendingIntentRecord{e94a0dc org.bitbucket.snaoto22.frock startService}}
(AppSync) org.bitbucket.snaoto22.frock/0
再起動後
SCV46:/ $ dumpsys alarm | grep org.bitbucket.snaoto22.frock
(AppSync) org.bitbucket.snaoto22.frock/0
https://github.com/nsaito92/Frock/issues/16#issuecomment-640184290 にて検討した内容からの、 最終的な対応内容について記載する。
status
の状態をチェックする。
FLAG_CANCEL_CURRENT
)Pendingintent.cancel()
)status
の状態をチェックする。
pendingintent.cancel()
)status
hour
minute
と組み合わせて、アラームが鳴動する 「時間」 の判断に使用する。minute
hour
と組み合わせて、アラームが鳴動する 「時間」 の判断に使用する。week
マージ完了。
概要
14 でアラーム設定をDBに保存出来る様に対応した。
期待値
対応内容
参考情報
備考
*