2017-04-22 24 views
-1

バックグラウンドでサービスを継続的に実行します。たとえば、サービスを開始する必要があります。これは、アプリが終了してもトーストメッセージを20秒間表示します。バックグラウンドでサービスを継続的に実行する

あなたは、あなたのサービスを宣言する追加するにはマニフェストでは、
public class AppService extends IntentService { 

    public int onStartCommand(Intent intent, int flags, int startId) { 
     return START_STICKY; 
    } 

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

    @Override 
    protected void onHandleIntent(Intent workIntent) { 
     Toast.makeText(getApplicationContext(), "hai", Toast.LENGTH_SHORT).show(); 
     SystemClock.sleep(20000); 
    } 
} 
+0

...私のために動作します。 – aldok

答えて

3

public class AppService extends Service { 

@Override 
public IBinder onBind(Intent intent) { 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public void onCreate() { 
    Toast.makeText(this, " MyService Created ", Toast.LENGTH_LONG).show(); 
} 

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    Toast.makeText(this, " MyService Started", Toast.LENGTH_LONG).show(); 
    return START_STICKY; 
} 
} 
0

android:process=":processname" 

これは、別々のプロセス上のサービスの実行をすることができますので、それはアプリで殺されることはありません。

フォアグラウンドを使用するかどうかを選択できます。永続的な通知が表示されますが、サービスが強制終了される可能性は低くなります。

さらに、継続的に稼動しているサービスを作成する場合は、Service,IntentServiceを使用してください。 IntentServiceは、アクションの実行が終了すると停止します。あなたは、その後、使用フォアグラウンドサービスをまだアプリを閉じても後に実行されているサービスを確認したい場合は、コードの下

関連する問題