我是android的初学者,我想在我的应用程序中创建简单的报警管理器,写下这段代码:
AlarmManager am = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(testSendWithFood.this, AlarmReciever.class);
PendingIntent pi = PendingIntent.getBroadcast(testSendWithFood.this, 5, i, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 30000, pi);
但在这一行:
AlarmManager am = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
在这一部分:
this.getSystemService(Context.ALARM_SERVICE);
为什么呢?
答案 0 :(得分:2)
您发布的代码似乎位于您的活动/服务的内部类中。在该范围内,非限定this
引用该内部类的当前实例,而不是当前的活动/服务实例,这是您要调用的getSystemService()
。要指定当前的活动/服务实例,请将类名添加到this
。
AlarmManager am = (AlarmManager) testSendWithFood.this.getSystemService(Context.ALARM_SERVICE);