2

私の活動のいくつかがアクセスする必要があるシンプルなサービスがあります。標準的なアプローチは次のようです。

  1. ServiceConnectionを作成して、[サービスオブジェクトと]バインドした後に何をするかを指定します
  2. ServiceConnectionを使用してbindServiceを呼び出します

ただし、これには、アクティビティごとに少なくとも1回bindServiceを呼び出す必要があります。bindServiceを1回だけ呼び出すと、サービスオブジェクトをグローバルに保存して、さまざまなアクティビティがアクセスできるようになりますか?

これは悪い習慣ですか?なんで?

4

1 に答える 1

1

Applicationを拡張してサービスへの参照を保持させてから、アクティビティでgetApplicationContext()を新しいクラスにキャストし、パブリックAPIを使用してサービスを取得できます。

mService = ((MyApplication)getApplicationContext()).getMyService();
于 2010-09-02T03:42:56.993 に答える