주기적으로 echo 5 초 동안 intentservice를 실행하고 싶습니다. 내 의도 서비스와 브로드 캐스트 리시버에 은 내가 log.e
사용하고 있지만 로그 캣에서 모든 로그하지 않은 : 내 FragmentActivity에서IntentService는 AlarmManager 및 broadcastReceiver를 사용하여 시작하지 않습니다.
:
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);
}
}
을
내 의도 서비스 :
내 manifest.xml에서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");
}
}
:
<receiver
android:name="com.shadyab.utilities.CheckNotificationPerEach12HourBroadC"
android:process=":remote"
>
</receiver>
<service
android:name="com.shadyab.utilities.CheckNotificationPerEach12Hour"
android:exported="false"
/>
5 초마다 (서비스중인) 메소드를 실행 하시겠습니까? –
아니요, 12 시간마다 주기적으로 메소드를 실행하고 싶습니다. 이제이 메소드를 검사하고 싶습니다. –
타이머 작업을 사용할 수 있습니다. 답변에서 언급하고 있습니다. –