2015-10-19 86 views
0

我想设置两个报警,它将运行两个不同的后台服务。我在我的activity类的onCreate方法中设置了警报。但问题是扩展IntentService的服务类没有被调用,即他们的方法onHandleIntent()没有被调用。这是我怎么设置我的报警AlarmManager不调用后台服务

//Creating alarm for showing notifications. 
     Calendar calendar = Calendar.getInstance(); 
     calendar.setTimeInMillis(System.currentTimeMillis()); 
     //create an alarm for today if there is still time else schedule alarm for tomorrow.(Handled inside the one time alarm class). 
     //FIRST ALARM.............. 
     Intent intent = new Intent(ActionBarTabActivity.this, ScheduleOneTimeAlarmForToday.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, 0); 
     AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
     alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 
     //SECOND ALARM............. 
     Intent i = new Intent(ActionBarTabActivity.this,RemoteNotificationService.class); 
     PendingIntent pi = PendingIntent.getService(getApplicationContext(), 111, i, 0); 
     alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), 1000 * 60, pi); 

我已经宣布了minifest文件中的服务如下

<service android:name="com.nss.common.services.ScheduleOneTimeAlarmForToday" /> 
    <service android:name="com.nss.common.services.RemoteNotificationService" /> 

而且报警我的旧三星手机上正常运行,但是当我测试它在我的新华硕Zenfone或任何其他新手机,它不显示。

编辑: 我的logcat表明这一点: 10-19 12:25:05.605 634-744/? V/AlarmManager﹕ triggered: flg=0x10000000 cmp=com.nss.zobbers/com.nss.common.services.ScheduleOneTimeAlarmForToday Pkg: com.nss.zobbers

10-19 12:25:06.846  634-744/? V/AlarmManager﹕ triggered: cmp=com.nss.zobbers/com.nss.common.services.RemoteNotificationService Pkg: com.nss.zobbers 

所以我不明白这一点,我的报警被触发,但它需要调用该服务不会被调用?我尝试了很多帖子,但找不到错误。请提前帮助,谢谢。

回答

0

我让它工作,但我不会接受它作为我的答案,也许有人会告诉它为什么不起作用的确切原因。那么,我不是通过alarmManager直接调用服务,而是修改我的代码来调用广播接收器,然后调用相应的服务。现在它似乎可以在不同的设备上完美运行。