2016-08-22 4 views
1

IntentServiceを10秒ごとに実行し、単純なデバッグ行を追加します。これは私のコードです:マニフェストでAndroid:IntentServiceは起動しますが、onHandleIntentは実行されません。

10秒ごとに

am.setRepeating(AlarmManager.RTC_WAKEUP, 
        cal.getTimeInMillis(), 
        10000, 
        servicePendingIntent); 

サービス自体

public class TheService extends IntentService { 

    public static int SERVICE_ID = 1; 

    public TheService() { 
     super("TheService"); 
    } 

    @Override 
    protected void onHandleIntent(Intent intent) { 
     Log.d("service","I'm in on Handle Intent"); 
    } 
} 

サービスを呼び出すためにアラームマネージャを作成

<service android:name="com.test.test.TheService" /> 

エミュレータのモニタ私はこの行を10秒ごとに表示します

1270-1297/system_process I/ActivityManager: START u0 {flg=0x4 cmp=com.test.test/.TheService (has extras)} from pid -1 

「余分なものがある」という事実にもかかわらず、実際には追加されていません。一般的には、デバッグは決して印刷されず、デバッグコードにブレークポイントが決して決して停止することはありませんが、サービスは10秒ごとに起動しますが、何もしません。

私には何が欠けていますか?あなたはこのように、あなたのServiceを呼び出し、メソッドgetService()PendingIntentにそれを置くためにIntentを作成する必要が

+0

はあなたのlogcat出力をろ過していますか?ブレークポイントを追加してデバッグを実行できますか? –

+0

フィルタされません。デバッグモードで実行されていますが、この行のブレークポイントで停止することはありません。Log.d( "service"、 "I'm in Handle Intent"); – Amos

+0

保留中のインテントを生成するために 'PedingIntent.getService'を使用していますか? – Blackbelt

答えて

1

Intent serviceIntent = new Intent(context, TheService.class); 
PendingIntent pendingIntent = PendingIntent.getService(this,0, intent, 0); 
+0

私は、アプリケーションを立ち往生したgetServiceで始めました。私はそれをgetActivityに変更し、上記の症状がありました。この回答と同じことを述べたコメントの後、私はgetServiceに戻して変更しました。 – Amos

+0

@Amos、cool、tiが役に立ちましたら受け入れてください – LaurentY

関連する問題