初めてのアンドロイドアプリ第4版で、アラームを作っています。アラームのキャンセル処理を実装したいのですが、cancelAlarmManager()のunresolved refferenceが解決できなくて困っています。
MainActivity
1package com.example.myalarmclock 2 3import android.app.AlarmManager 4import android.app.PendingIntent 5import android.content.Context 6import android.content.Intent 7import android.os.Build 8import androidx.appcompat.app.AppCompatActivity 9import android.os.Bundle 10import kotlinx.android.synthetic.main.activity_main.* 11import java.util.* 12 13class MainActivity : AppCompatActivity() { 14 15 override fun onCreate(savedInstanceState: Bundle?) { 16 super.onCreate(savedInstanceState) 17 setContentView(R.layout.activity_main) 18 19 20 setAlarm.setOnClickListener { 21 val calendar = Calendar.getInstance() 22 calendar.timeInMillis = 23 System.currentTimeMillis() 24 calendar.add( 25 Calendar.SECOND, 26 5 27 ) 28 setAlarmManager(calendar) 29 } 30 31 cancelAlarm.setOnClickListener{ 32 cancelAlarmManager()//ここにエラーが出る 33 } 34 } 35 36 37 private fun setAlarmManager(calendar: Calendar) { 38 val am = getSystemService(Context.ALARM_SERVICE) as AlarmManager 39 val intent = Intent(this, AlarmBroadcastReceiver::class.java) 40 val pending = PendingIntent.getBroadcast(this, 0, intent, 0) 41 am.cancel(pending) 42 43 when { 44 Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP -> { 45 val info = AlarmManager.AlarmClockInfo(calendar.timeInMillis, null) 46 am.setAlarmClock(info, pending) 47 } 48 Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT -> { 49 am.setExact(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, pending) 50 } 51 else -> { 52 am.set(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, pending) 53 } 54 } 55 } 56}
試したこと
誤植チェック、{}のチェック、idの入力ミス
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。