1. ホーム
  2. java

[解決済み] ServiceConnectionをサブクラス化しようとすると「no interface expected here」と表示される [duplicate] 。

2022-01-30 11:20:53

質問

初めてサービスを作ろうとしています。 私が入手したサンプルコードでは ServiceConnectionは、サービスを作成するアクティビティの内部クラスとして作成されます。

他のアクティビティがサービスを作成し、同じServiceConnectionクラスを使用できるように、ServiceConnectionをサービスを作成するアクティビティクラスの外側にしたいのですが、どうすればいいですか?

そこで、これをサブクラス化し、独自のファイルに作成することを試みています。

public class CMYServiceConnection extends ServiceConnection {
                                    I GET ERROR HERE

Messenger mService = null;
boolean mBound;


public void onServiceConnected(ComponentName className, IBinder service) {
    // This is called when the connection with the service has been
    // established, giving us the object we can use to
    // interact with the service.  We are communicating with the
    // service using a Messenger, so here we get a client-side
    // representation of that from the raw IBinder object.
    mService = new Messenger(service);
    mBound = true;
}

public void onServiceDisconnected(ComponentName className) {
    // This is called when the connection with the service has been
    // unexpectedly disconnected -- that is, its process crashed.
    mService = null;
    mBound = false;
}

}

解決方法は?

ServiceConnection はインターフェースであり、クラスはインターフェースを拡張することができません。

使用方法 implements 代わりに