質問編集履歴

5

コードの修正

2022/12/01 05:07

投稿

Hdjjnnn
Hdjjnnn

スコア1

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
  override fun onCreate(savedInstanceState: Bundle?) {
39
39
  super.onCreate(savedInstanceState)
40
40
  setContentView(R.layout.activity_main)
41
- //switchボタンによるアラームの処理
41
+
42
42
  val switch = findViewById<Switch>(R.id.switch1)
43
43
  switch.setOnCheckedChangeListener{_,ischecked ->
44
44
  if(ischecked){
@@ -48,27 +48,25 @@
48
48
  }
49
49
  val calendar: Calendar = Calendar.getInstance().apply {
50
50
  supportFragmentManager.setFragmentResultListener(REQUESTKEY_TIMEPICKER, this@MainActivity) { _, result ->
51
- val hour = result.getInt(TimePickerDialogFragment.RESULT_HOUR)
51
+ val Hour = result.getInt(TimePickerDialogFragment.RESULT_HOUR)
52
- val minute = result.getInt(TimePickerDialogFragment.RESULT_MINUTE)
52
+ val Minute = result.getInt(TimePickerDialogFragment.RESULT_MINUTE)
53
+ timeInMillis = System.currentTimeMillis()
54
+ set(Calendar.HOUR_OF_DAY, Hour)
55
+ set(Calendar.MINUTE,Minute)
53
56
  }
54
- timeInMillis = System.currentTimeMillis()
55
- set(RESULT_HOUR,)
56
- set(RESULT_MINUTE,)
57
57
  }
58
-
59
58
  alarmManager.setInexactRepeating(
60
59
  AlarmManager.RTC_WAKEUP,
61
60
  calendar.timeInMillis,
62
61
  AlarmManager.INTERVAL_DAY,
63
62
  alarmIntent
64
63
  )
65
-
66
64
  }
67
65
  }
68
66
 
69
67
  val nowText = findViewById<TextView>(R.id.nowText)
70
68
  val alarmText = findViewById<TextView>(R.id.alarmText)
71
-
69
+
72
70
  //TimePickerの表示
73
71
  supportFragmentManager.setFragmentResultListener(REQUESTKEY_TIMEPICKER, this) { _, result ->
74
72
  val hour = result.getInt(TimePickerDialogFragment.RESULT_HOUR)
@@ -82,7 +80,7 @@
82
80
  //ボタンによる時刻の設定
83
81
  val btnSelectTime = findViewById<Button>(R.id.btnSelectTime)
84
82
  btnSelectTime.setOnClickListener {
85
- TimePickerDialogFragment.getInstance(REQUESTKEY_TIMEPICKER).show(supportFragmentManager, null)
83
+ TimePickerDialogFragment.getInstance(REQUESTKEY_TIMEPICKER).show(supportFragmentManager, null)
86
84
  }
87
85
 
88
86
 
@@ -110,13 +108,10 @@
110
108
  handler.post(TimeDrawer())
111
109
 
112
110
  }
113
-
114
- private fun set(hourOfDay: Int, i: Int, minute: Int, i1: Int) {
115
-
116
- }
117
111
  }
118
112
 
119
113
  ```
114
+
120
115
  AndroidManifest.xml
121
116
  ```kotlin
122
117
  <?xml version="1.0" encoding="utf-8"?>

4

コードの変更

2022/11/30 08:17

投稿

Hdjjnnn
Hdjjnnn

スコア1

test CHANGED
File without changes
test CHANGED
@@ -47,8 +47,13 @@
47
47
  PendingIntent.getBroadcast(this, 0, intent, 0)
48
48
  }
49
49
  val calendar: Calendar = Calendar.getInstance().apply {
50
+ supportFragmentManager.setFragmentResultListener(REQUESTKEY_TIMEPICKER, this@MainActivity) { _, result ->
51
+ val hour = result.getInt(TimePickerDialogFragment.RESULT_HOUR)
52
+ val minute = result.getInt(TimePickerDialogFragment.RESULT_MINUTE)
53
+ }
50
54
  timeInMillis = System.currentTimeMillis()
51
- set()
55
+ set(RESULT_HOUR,)
56
+ set(RESULT_MINUTE,)
52
57
  }
53
58
 
54
59
  alarmManager.setInexactRepeating(

3

switchボタンの追加

2022/11/30 08:03

投稿

Hdjjnnn
Hdjjnnn

スコア1

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,6 @@
18
18
  import android.annotation.SuppressLint
19
19
  import android.app.AlarmManager
20
20
  import android.app.PendingIntent
21
- import android.content.Context
22
21
  import android.content.Intent
23
22
  import android.icu.util.Calendar
24
23
  import androidx.appcompat.app.AppCompatActivity
@@ -28,6 +27,7 @@
28
27
  import android.widget.Button
29
28
  import android.widget.TextView
30
29
  import android.icu.util.TimeZone
30
+ import android.widget.Switch
31
31
 
32
32
  class MainActivity : AppCompatActivity() {
33
33
  companion object {
@@ -38,34 +38,48 @@
38
38
  override fun onCreate(savedInstanceState: Bundle?) {
39
39
  super.onCreate(savedInstanceState)
40
40
  setContentView(R.layout.activity_main)
41
+ //switchボタンによるアラームの処理
42
+ val switch = findViewById<Switch>(R.id.switch1)
43
+ switch.setOnCheckedChangeListener{_,ischecked ->
44
+ if(ischecked){
45
+ val alarmManager: AlarmManager = this.getSystemService(ALARM_SERVICE) as AlarmManager
46
+ val alarmIntent: PendingIntent = Intent(this, AlarmReceiver::class.java).let { intent ->
47
+ PendingIntent.getBroadcast(this, 0, intent, 0)
48
+ }
49
+ val calendar: Calendar = Calendar.getInstance().apply {
50
+ timeInMillis = System.currentTimeMillis()
51
+ set()
52
+ }
53
+
54
+ alarmManager.setInexactRepeating(
55
+ AlarmManager.RTC_WAKEUP,
56
+ calendar.timeInMillis,
57
+ AlarmManager.INTERVAL_DAY,
58
+ alarmIntent
59
+ )
60
+
61
+ }
62
+ }
41
63
 
42
64
  val nowText = findViewById<TextView>(R.id.nowText)
43
65
  val alarmText = findViewById<TextView>(R.id.alarmText)
66
+
44
-
67
+ //TimePickerの表示
45
68
  supportFragmentManager.setFragmentResultListener(REQUESTKEY_TIMEPICKER, this) { _, result ->
46
69
  val hour = result.getInt(TimePickerDialogFragment.RESULT_HOUR)
47
70
  val minute = result.getInt(TimePickerDialogFragment.RESULT_MINUTE)
48
- //TimePickerの準備
49
71
  if (minute in 0..9) {
50
72
  alarmText.text = "${hour}時0${minute}分"
51
73
  } else {
52
74
  alarmText.text = "${hour}時${minute}分"
53
75
  }
54
76
  }
55
- //ボタンによる時刻の設定+アラームの設定
77
+ //ボタンによる時刻の設定
56
78
  val btnSelectTime = findViewById<Button>(R.id.btnSelectTime)
57
79
  btnSelectTime.setOnClickListener {
58
- TimePickerDialogFragment.getInstance(REQUESTKEY_TIMEPICKER).show(supportFragmentManager, null)
80
+ TimePickerDialogFragment.getInstance(REQUESTKEY_TIMEPICKER).show(supportFragmentManager, null)
81
+ }
59
82
 
60
- val alarmMgr: AlarmManager = this.getSystemService(Context.ALARM_SERVICE) as AlarmManager
61
- val alarmIntent: PendingIntent = Intent(this, AlarmReceiver::class.java).let { intent ->
62
- PendingIntent.getBroadcast(this, 0, intent, 0)
63
- }
64
- val calendar: Calendar = Calendar.getInstance().apply {
65
- timeInMillis = System.currentTimeMillis()
66
- set(alarmText.text==nowText.text)
67
- }
68
- }
69
83
 
70
84
 
71
85
  val handler = Handler(Looper.getMainLooper())
@@ -91,7 +105,12 @@
91
105
  handler.post(TimeDrawer())
92
106
 
93
107
  }
108
+
109
+ private fun set(hourOfDay: Int, i: Int, minute: Int, i1: Int) {
110
+
111
+ }
94
112
  }
113
+
95
114
  ```
96
115
  AndroidManifest.xml
97
116
  ```kotlin

2

引用元の追記

2022/11/26 14:45

投稿

Hdjjnnn
Hdjjnnn

スコア1

test CHANGED
File without changes
test CHANGED
@@ -147,9 +147,11 @@
147
147
  ### 試したこと
148
148
 
149
149
  どこのコードの部分を改善したら、通知が来るようになるでしょうか?
150
- また、他にこのようにしたほうが良いなど意見がございましたらよろしくお願いします
150
+ また、他にこのようにしたほうが良いなど意見がございましたらよろしくお願いします
151
151
 
152
152
  ### 補足情報(FW/ツールのバージョンなど)
153
+ 下記のサイトをもとに作成にあたりました.
154
+ > https://pg.akihiro-takeda.com/android-alarm/
153
155
 
154
156
  API:31
155
157
  Android 12.0(s)

1

タグの修正

2022/11/25 13:33

投稿

Hdjjnnn
Hdjjnnn

スコア1

test CHANGED
File without changes
test CHANGED
File without changes