背景不能得到解决 [英] Context Cannot be Resolved
本文介绍了背景不能得到解决的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图用一种方法来安排这里描述的每月报警:
<一个href="http://stackoverflow.com/questions/7568233/how-to-implement-yearly-and-monthly-repeating-alarms">How实行年度和月度重复报警?
不过我对线条让两个错误:
AlarmManager AM =(AlarmManager)上下文
.getSystemService(Context.ALARM_SERVICE);
和
PendingIntent发送= PendingIntent.getBroadcast(背景下,
指出背景下解决不了和上下文不能被解析为一个变量
...如何这样可以解决什么建议?
公共类报警延伸服务{
// compat的支持旧设备
@覆盖
公共无效ONSTART(意向意图,诠释startId){
onStartCommand(意向,0,startId);
}
@覆盖
公众诠释onStartCommand(意向意图,诠释标志,诠释startId){
//你的方法来检查是否报警今天必须被解雇
PendingIntent发送= PendingIntent.getBroadcast(背景下,
的Integer.parseInt(Long.toString(ID)),意图,0);
台历挂历= Calendar.getInstance();
calendar.setTimeInMillis(calendar.getTimeInMillis());
calendar.add(Calendar.SECOND,30);
AlarmManager AM =(AlarmManager)上下文
.getSystemService(Context.ALARM_SERVICE);
calendar.add(Calendar.MONTH,1);
am.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),发送方);
//重新安排我再次检查明天
意图serviceIntent =新的意图(Alarm.this,Alarm.class);
PendingIntent restartServiceIntent = PendingIntent.getService(
Alarm.this,0,serviceIntent,0);
AlarmManager报警=(AlarmManager)getSystemService(ALARM_SERVICE);
//取消previous报警
alarms.cancel(restartServiceIntent);
//今天+ 1天的时间表报警
台历挂历= Calendar.getInstance();
calendar.add(Calendar.DATE,1);
//调度报警
alarms.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),
restartServiceIntent);
}
@覆盖
公共无效的onCreate(){
// TODO自动生成方法存根
}
@覆盖
公众的IBinder onBind(意向意图){
// TODO自动生成方法存根
返回null;
}
@覆盖
公共布尔onUnbind(意向意图){
// TODO自动生成方法存根
返回super.onUnbind(意向);
}
}
解决方案
Service是一个上下文,所以试试这个code:
AlarmManager AM =(AlarmManager)getSystemService(Context.ALARM_SERVICE);
PendingIntent发送= PendingIntent.getBroadcast(这一点,
I'm attempting to use a method to schedule monthly alarms described here:
How to implement yearly and monthly repeating alarms?
However I'm getting two errors on the lines:
AlarmManager am = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
and
PendingIntent sender = PendingIntent.getBroadcast(context,
stating "context cannot be resolved" and "context cannot be resolved to a variable"
...any suggestions on how this can be resolved?
public class Alarm extends Service {
// compat to support older devices
@Override
public void onStart(Intent intent, int startId) {
onStartCommand(intent, 0, startId);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// your method to check if an alarm must be fired today
PendingIntent sender = PendingIntent.getBroadcast(context,
Integer.parseInt(Long.toString(id)), intent, 0);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(calendar.getTimeInMillis());
calendar.add(Calendar.SECOND, 30);
AlarmManager am = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
calendar.add(Calendar.MONTH, 1);
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);
// reschedule me to check again tomorrow
Intent serviceIntent = new Intent(Alarm.this, Alarm.class);
PendingIntent restartServiceIntent = PendingIntent.getService(
Alarm.this, 0, serviceIntent, 0);
AlarmManager alarms = (AlarmManager) getSystemService(ALARM_SERVICE);
// cancel previous alarm
alarms.cancel(restartServiceIntent);
// schedule alarm for today + 1 day
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, 1);
// schedule the alarm
alarms.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
restartServiceIntent);
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean onUnbind(Intent intent) {
// TODO Auto-generated method stub
return super.onUnbind(intent);
}
}
解决方案
Service is a Context, so try this code:
AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
PendingIntent sender = PendingIntent.getBroadcast(this,
这篇关于背景不能得到解决的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文