有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    我修正了它,我已经为意图设置了额外的内容,但是忘记了设置意图本身