2012-02-11 22 views
1

Android SDKは、remote serviceがアプリケーションで別のプロセスで実行されていると言います。私は、アプリケーションが停止した場合、または終了した場合、リモートサービスがまだ実行中のままであることを意味すると考えました。しかし、それはしません。Android - アプリケーションが終了するとリモートサービスが終了する

import java.util.Timer; 
import java.util.TimerTask; 

import android.app.Service; 
import android.os.IBinder; 
import android.util.Log; 

public class WatchDogService extends Service { 

    private Timer timer = new Timer(); 

    @Override 
    public void onCreate() { 
    Log.i(WatchDogService.class.getName(), "WatchDog start"); 

    timer.scheduleAtFixedRate(new TimerTask() { 
     @Override 
     public void run() { 
     Log.i(WatchDogService.class.getName(), "WatchDog boo boo!!! ^^"); 
     } 
    }, 0, 5000); 
    } 

    @Override 
    public void onDestroy() { 
    Log.i(WatchDogService.class.getName(), "WatchDog stop"); 
    } 

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

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
    Log.i(WatchDogService.class.getName(), "WatchDog has just been called..."); 
    // We want this service to continue running until it is explicitly 
    // stopped, so return sticky. 
    return START_STICKY; 
    } 
} 

のAndroidManifest.xml:

startService(new Intent("WatchDogService")); 

サービスは、[OK]を開始します。私のようにそれを呼び出す別のアクティビティで

<service 
    android:name="WatchDogService" 
    android:process=":remote" > 
    <intent-filter> 
     <action android:name="WatchDogService" /> 
    </intent-filter> 
</service> 

は、例えば、私はこのリモートサービスを提供しています。しかし、私がシステムのアプリマネージャーに行って、その後アプリケーションを停止すると、サービスも終了します。

アプリが終了してもサービスを実行しておきたいです。どうやってやるの?

答えて

-1

「サービス」とは「アプリケーション」ではなくサービスを意味すると思います。つまり、「サービスマネージャー」のようなものが欲しい。しかし、Androidのアプリケーション設定はコーダーではなく、エンドユーザー用であることを忘れていました。

これまでのところ、私は答えを得ました。代わりに、代わりにあなたはAIDLは、このリンクで説明使用して別のバックグラウンドアプリケーションを作成することがサービスのあなたが別のアプリケーションを作成し、それを呼び出すことができるサービスや

+1

解決策を理解できません。もう少し詳しく教えていただけますか?私も同じ問題で苦労しているし、それを理解することはできません。同じコードを使用してアプリを実行し、デバイス上で実行中のプロセスをチェックすると、2つのプロセスと1つのサービス(1つのプロセスと1つのサービスの代わりに)が表示されるはずです。 – pree

2

アプリが終了してもサービスを実行したいです。どうやってやるの?

あなたはありません。ユーザーがアプリを終了すると、アプリは終了します。ユーザーはあなたのAndroidデバイスを管理しています。

ユーザーの希望を尊重し、ユーザーが強制停止したり、タスクを強制終了したり、取り除いたりするアプリを構築しないようにしてください。

+0

私はここで技術的に話しています。結構です。次回はできれば、私の質問に答えないようにしてください。ありがとう。 –

関連する問題