質問編集履歴
5
コードの修正
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
|
-
|
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
|
51
|
+
val Hour = result.getInt(TimePickerDialogFragment.RESULT_HOUR)
|
52
|
-
val
|
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
コードの変更
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ボタンの追加
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
|
-
|
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
引用元の追記
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
タグの修正
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|