1

ServiceManager によって登録され、SystemServiceRegistry によって登録されていないサービスに疑問があります。

SystemServiceRegistryのコメントで

/**
 * Manages all of the system services that can be returned by {@link Context#getSystemService}.
 * Used by {@link ContextImpl}.
 */

つまり、システムによって登録されたサービスは、コンテキストから参照を取得できます。

ServiceManagerに関して、 SystemServiceRegistry によって登録されていない Application でServiceManagerによって追加されたサービスにアクセスするにはどうすればよいですか?

4

2 に答える 2

0

@CommonsWare で正しく言及されているように、コンテキストで getSystemService() を使用する必要があります。例えば。位置情報サービスを取得するには:

LocationManager mLocationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

カスタム サービスを使用する場合 (サービスが AndroidManifest.xml に登録されていることを前提としています):

startService(new Intent(this, YourServiceClass.class));
于 2017-01-11T17:29:12.640 に答える