このコマンドを使用してサービスを開始できる Main アクティビティがあります
startService(new Intent(Main.this, Myservice.class));
そしてMyserviceクラスはこのようなものです
public class Myservice extends Service {
private ShakeListener mShaker;
String startell;
SharedPreferences prefs;
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
//Something
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
//Do Something to detecting shake
//Show my notification
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
//Stop Shake detection
//stop notification
super.onDestroy();
}
}
私のアプリケーションは正常に動作しますが、約 1 時間後にサービスが自動的に停止します。つまり、約 1 時間後に振動検出が機能しなくなります。:(
少しグーグルで検索したところ、StartForeground を使用する必要があることがわかりましたが、方法がわかりませんでした。
では、コードで StartForeground をどのように使用すればよいでしょうか。