2016-05-29 7 views
0

私はサービスを開始するために以下のコードを使用しています。このサービスは、mysqlをチェックして通知を提供する非同期タスクを開始する必要があります。サービスが開始されていないと私はなぜ見つけることができないのですか?私はサービスからログを受け取りません。 (Asyncタスクをメインアクティビティから直接呼び出すと、正常に機能しません)。非同期タスクを使用したサービスが起動していません

主な活動コード:

Intent startIntent = new Intent(MainActivity.this, ForegroundService.class); 
MainActivity.this.startService(startIntent); 

サービスクラスコード:

public class ForegroundService extends Service { 
    private static final String LOG_TAG = "ForegroundService"; 

    @Override 
    public void onCreate() { 
     Log.i(LOG_TAG, "On Create"); 

    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     Log.i(LOG_TAG, "On Start"); 
     new Thread(new Runnable() { 

      @Override 
      public void run() { 
       String newoperator = "Go"; 
       TimeSync ReportCheck= new TimeSync(getApplicationContext()); 
       ReportCheck.execute(newoperator); 
      } 

     }).start(); 
     return START_STICKY; 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     Log.i(LOG_TAG, "In onDestroy"); 
    } 

    @Nullable 
    @Override 
    public IBinder onBind(Intent intent) { 

     return null; 
    } 
} 

は、私はまた、主な活動で以下のコマンドを追加し、いくつかの解決策が見つかりましたが、コマンドは私のアンドロイドのスタジオには適用されません。

startIntent.setAction(Constants.ACTION.STARTFOREGROUND_ACTION); 
+1

次の点を確認してください。1.サービスはonStartCommandでログがのonCreate 3.ログインが –

+0

パーフェクトを印刷します印刷しますマニフェスト2で宣言されて、私は私ではありませんでした最初、問題を持っていましたmainifestファイルでサービスを宣言します。これは、MainActivityClassでサービスクラスを妨げていたことを示しています。 –

+0

偉大な:)それは助けてうれしい –

答えて

1

どのAndroidスタジオを使用しますか?あなたは最新のバージョンに更新しようとしましたか?

Download Android Studio 2.1

+0

私は最新の1つ、マニフェストファイルでサービスを宣言することによって解決された問題があります。ありがとう –

+0

私はあなたの問題を解決するために管理されてうれしい –