Gmail クライアントでメールを受信したときに、GmailService クラスでメソッド CippaLippa() を実行したいと考えています。
私は AndroidManifest に受信機とサービスを持っています...
<receiver
android:name="com.myapp.receiver.GmailReceiver">
<intent-filter>
<action
android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service
android:name="com.myapp.service.GmailService"
android:label="@string/app_name" />
そしてこれらのクラス...
public class GmailReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
final SharedPreferences preferences = context.getSharedPreferences("myapp.prefs", 0);
context.startService(new Intent(context, GmailService.class));
}
}
public class GmailService extends Service { .. etc...}
私の質問:すべてが数時間正常に動作し、Gmail から通知を受け取ると、CippaLippa() メソッドが起動します... その後、数時間後に Gmail 通知を受け取ると、CippaLippa() メソッドは起動しなくなります。
おそらく、GmailService クラスに「生き続ける」ように指示し、Gmail イベントを監視し続ける方法はありますか? これは、アクティビティではなくバックグラウンド サービスであるため、未使用のクラスを強制終了する Android OS が原因ではないと思います。私には手がかりがありません。