2012-03-14 10 views
0

繰り返しアラームマネージャなしでサービスを介してアクションを繰り返す最善の方法はどれですか。Android:アラームマネージャを繰り返さずにサービスを介してアクションを繰り返す最善の方法はどれですか?

私はこのサービスがアンドロイドによって中断されないようにする必要があるので、アラームマネージャー(「アラームマネージャーを繰り返さない」)でサービスを開始します。

このサービスは、アクティブな間にいくつかのパラメータを受け取り、特定のアクションを繰り返すことで詳述する必要があります。リピートアラームマネージャを使用すると、サービスはそれらを正しく読み取れません。

私はクラス "タイマー"を使用しようとしましたが、しばらくしてAndroidが停止し、サービスは何もしません。

Androidを使わずにタイマーを使用している間にサービスをアクティブに維持する方法はありますか?あなたがあなたのサービスのようなフォアグラウンドサービスを作ることができ

多くのおかげ

+0

サービスはスティッキーとしてマークされていて、起動時に起動しますか? –

+0

Androidは、好きなものであれ、好きなものであれ、「中断する」ことができます。その点では、*ユーザー*は、好きなことを好きなものであれ、好きなものを「中断する」ことができます。 – CommonsWare

答えて

1

final int myID = 1234; 
//This constructor is deprecated. Use Notification.Builder instead 
     Notification notice = new Notification(R.drawable.ic_launcher, "Started Alarm", System.currentTimeMillis()); 

     //This method is deprecated. Use Notification.Builder instead. 
     notice.setLatestEventInfo(this, "Alarm.", "Please wait...", pendIntent); 

     notice.flags |= Notification.FLAG_NO_CLEAR; 
     //notification.flags |= Notification.FLAG_NO_CLEAR; 


     startForeground(myID, notification); 

その後、アンドロイドは、そこには他に方法はありませんし、あなたのサービスが

高い優先事項である場合にのみ、あなたのサービスを停止します

唯一のことは、通知する必要があることです。

+0

私はこのコードがどのように役立つのか分かりません。あなたは私に例を挙げることができますか? – Meroelyth

+0

このコードはあなたのサービスを停止していません –

+0

私はこのコードを入れなければなりませんか? – Meroelyth

関連する問題