IntentService не начнет использовать AlarmManager и BroadcastReceiver

Я хотел бы периодически запускать службу намерений для эха 5 секунд. в моей службе намерений и широковещательном приемнике я использую log.e, но у меня нет журнала в logCat:

в моей FragmentActivity:

public void scheduleAlarm(Context con) {
        Intent intent = new Intent(con, CheckNotificationPerEach12HourBroadC.class);
        final PendingIntent pIntent = PendingIntent.getBroadcast(con, 0,
            intent, 0);
        long firstMillis = System.currentTimeMillis(); // first run of alarm is immediate
        AlarmManager alarm = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
        alarm.setRepeating(AlarmManager.RTC_WAKEUP, firstMillis, intervalMillis, pIntent);
      } 

мой широковещательный приемник:

public class CheckNotificationPerEach12HourBroadC extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    Intent i = new Intent(context, CheckNotificationPerEach12Hour.class);
    Log.e("CheckNotificationPerEach12HourBroadC", "fired");
   // i.putExtra("foo", "bar");
    context.startService(i);
}

}

мой IntentService:

public class CheckNotificationPerEach12Hour extends IntentService{

public CheckNotificationPerEach12Hour( ) {
    super("CheckNotificationPerEach12Hour");
    // TODO Auto-generated constructor stub
}

@Override
protected void onHandleIntent(Intent intent) {
    // TODO Auto-generated method stub
    Log.e("intent ser", "10 second");

}

}

в моем manifest.xml:

    <receiver 
        android:name="com.shadyab.utilities.CheckNotificationPerEach12HourBroadC"
        android:process=":remote"
        >
    </receiver>  

    <service
        android:name="com.shadyab.utilities.CheckNotificationPerEach12Hour"
        android:exported="false"
         />

person S.M_Emamian    schedule 13.11.2014    source источник
comment
Вы хотите запускать метод (который находится в эксплуатации) каждые 5 секунд?   -  person Vibhor Chopra    schedule 13.11.2014
comment
нет, я хотел бы периодически запускать метод через каждые 12 часов, теперь я хочу проверить его.   -  person S.M_Emamian    schedule 13.11.2014
comment
Вы можете использовать задачу таймера, я упоминаю об этом в ответе.   -  person Vibhor Chopra    schedule 13.11.2014


Ответы (1)


Создайте службу и вызовите ее в своем широковещательном приемнике.

public class ServiceTest extends Service {

private Timer mTimer;

@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public void onCreate() {
    super.onCreate();
    // getLogs();

    mTimer = new Timer();
    mTimer.schedule(timerTask, 5000, 5 * 1000);

}


TimerTask timerTask = new TimerTask() {

    @Override
    public void run() {

        Log.wtf("service","running")

    }
};

}
person Vibhor Chopra    schedule 13.11.2014
comment
на самом деле я хочу получить некоторые данные из MySQL (даже когда мое приложение закрыто). - person S.M_Emamian; 13.11.2014
comment
он будет работать, даже если приложение закрыто - person Vibhor Chopra; 13.11.2014
comment
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000 * 60 * 60 * 12, alarmIntent); Это может сработать. - person Vibhor Chopra; 13.11.2014