为什么我在尝试创建android警报时出现此错误?

时间:2015-11-14 16:30:49

标签: android

我是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);


 我得到这个错误:
enter image description here


为什么呢?

1 个答案:

答案 0 :(得分:2)

您发布的代码似乎位于您的活动/服务的内部类中。在该范围内,非限定this引用该内部类的当前实例,而不是当前的活动/服务实例,这是您要调用的getSystemService()。要指定当前的活动/服务实例,请将类名添加到this

AlarmManager am = (AlarmManager) testSendWithFood.this.getSystemService(Context.ALARM_SERVICE);