0

サービスを使用して他のピアに接続するネットワーク アプリがあります。「最近のアプリ」を使用してアプリケーションを閉じると、プロセスが閉じられるだけで、service実際には悪くありません。ただし、次にユーザーがアプリを開くときに少し問題が発生します。クラッシュするため、ユーザーは「最近のアプリ」を使用してもう一度閉じてから、アプリを再度使用しようとする必要があります。次回実行する前にサービスを停止すると、問題は間違いなく実行中のサービスです。それはうまくいきます!

実際、私はスタートアップで別のものを開始しないので、それは私にとって奇妙ですservice。ユーザーがボタンをタップすると開始します。とにかく、可能な場合は running を使用できるようにするのが最善の方法ですservice。それ以外の場合は、アプリケーションの開始時にサービスを停止したいだけです。

私はアンドロイドが初めてで、この時点で立ち往生しています:(

手伝ってくれてありがとう

4

2 に答える 2

0

staticサービスが実行中かどうかを示す1 つのオブジェクトを使用します。

それ以外の場合は、私が見つけた2番目のオプションサービスがAndroidで実行されているかどうかを確認するにはどうすればよいですか?

if(startService(someIntent) != null) { 
    Toast.makeText(getBaseContext(), 'Service is already running',Toast.LENGTH_SHORT).show();
}else {
    Toast.makeText(getBaseContext(), 'There is no service running, starting service..', Toast.LENGTH_SHORT).show();
}
于 2013-02-27T06:12:18.637 に答える
0

サービス スケルトン:

public class MyService extends Service {
public static final String TAG = "MyServiceTag";
...
}

これは開始アクティビティの一部です。

processStartService(MyService.TAG);

 private void processStartService(final String tag) {
Intent intent = new Intent(getApplicationContext(), MyService.class);
intent.addCategory(tag);
startService(intent);
}

これは停止アクティビティの一部です。

processStopService(MyService.TAG);

private void processStopService(final String tag) {
Intent intent = new Intent(getApplicationContext(), MyService.class);
intent.addCategory(tag);
stopService(intent);
}
于 2013-02-27T06:09:13.233 に答える