java AlarmManager不工作
即使在正确设置时间后,日志也会被删除。我从来没有接到过电话。直到我创建了一系列的意图,以配合悬挂式帐篷
这是我的主要活动
public void actionSetup(boolean activitycreated[],int buttonclicked[])
{
SharedPreferences data=getSharedPreferences("ACTIVITY_DATA",MODE_MULTI_PROCESS);
Calendar calendar=Calendar.getInstance();
myintent[buttonclicked[0]]=new Intent(getApplicationContext(),actionservice.class);
myintent[buttonclicked[0]].putExtra("activityfrom",buttonclicked[0]);
stuff[buttonclicked[0]]=PendingIntent.getBroadcast(MainActivity.this,buttonclicked[0],myintent[buttonclicked[0]],PendingIntent.FLAG_UPDATE_CURRENT);
calendar.set(Calendar.MONTH,Calendar.getInstance().get(Calendar.MONTH));
calendar.set(Calendar.YEAR,Calendar.getInstance().get(Calendar.YEAR));
calendar.set(Calendar.DAY_OF_MONTH,Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.HOUR_OF_DAY, data.getInt(buttonclicked[0]+"startimehour",1));
calendar.set(Calendar.MINUTE, data.getInt(buttonclicked[0]+"startimeminute",1));
calendar.set(Calendar.SECOND,0);
if (data.getInt(buttonclicked[0]+"startimehour",1)>=12)
{
calendar.set(Calendar.AM_PM,Calendar.PM);
}
else
{
calendar.set(Calendar.AM_PM,Calendar.AM);
}
AlarmManager alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(alarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),stuff[buttonclicked[0]]);
}
}
这是我的服务
public int onStartCommand(Intent intent, int flags, int startId)
{
Bundle extras= intent.getExtras();
int originact=extras.getInt("activityfrom");
Log.i("ORIGIN OF THIS ACT!!!!!!","ADJKLJWEIRJWEIRWER"); SOMEHOW THIS NEVER GETS LOGGED!!!!!!
SharedPreferences data=getSharedPreferences("ACTIVITY_DATA",MODE_MULTI_PROCESS);
boolean daysselected [] []=new boolean[8][7];
boolean [] [] functionsselected=new boolean[8][2];
for(int m=0;m<=7;m++)
{
functionsselected[m][0]=data.getBoolean("silent"+m,false);
functionsselected[m][1]=data.getBoolean("bluetooth"+m,false);
}
for(int i=0;i<=7;i++)
{
for(int j=0;j<=6;j++)
{
daysselected[i][j]=data.getBoolean("activity"+i+"day"+j,false);
}
}
Calendar c= Calendar.getInstance();
int dayofweek=c.get(Calendar.DAY_OF_WEEK);
Handler.completeWakefulIntent(intent);
stopSelf();
return super.onStartCommand(intent, flags, startId);
# 1 楼答案
我修正了它,我已经为意图设置了额外的内容,但是忘记了设置意图本身