2015-02-09 2 views
0

Даже после правильной установки времени Log.i никогда не вызывается. Он работал до тех пор, пока я не создал массив намерений для работы с массивом PendingIntents.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); 

ответ

0

Я установил это, я поставил массовку для намерения, но забыли установить сам замысел -_-

Смежные вопросы