public class MyHibernatedService extends Service{
public void onCreate() {
super.onCreate();
//declaring the intents ..
//some codes...
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getService(this, 0, IntentServiceToBeRun, 0);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MILLISECOND, 10000);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
}
}
毎日特定の時間Service
に起動したい。IntentService
ただし、インターネット、StackOverflow、Google などのどこかで読んだことがあります。Service
永遠に生き続けることはできません。これが Android のしくみです。Service
Android がメモリを必要としたり、メモリを使いすぎたりするたびに、それを強制終了する必要があります。このコードが毎日実行され、私Service
が殺されないことを保証するものは何ですか?
編集 :
私はAndroidのドキュメントで気づいた:
Android システムは、サービスが開始されているかクライアントがバインドされている限り、サービスをホストするプロセスを維持しようとします。
「それにバインドされたクライアント」とは実際にはどういう意味ですか?