-3

奇妙な問題に直面しています。アプリの起動時にアクティビティをサービスに接続しています。サービス接続が正常に確立され、Samsung galaxy S5 やその他のデバイスでも正常に動作します。しかし、Moto E、Moto G などの他のデバイスでは動作します3回か4回発射した後、2回か3回だけで、まったく機能しません。サービスとアクティビティ間の通信は、マッサージャーを使用して実現されます。アプリが動作を停止するonServiceConnectedと呼び出されないことがわかりましたが、この場合でも bindservice は true を返します。同様の問題はここに記載されていますが、回答はありません

これは、サービスをアクティビティにバインドする方法です

    startService(new Intent(this,MyService.class));
    boolean bound = bindService(new Intent(this,MyService.class), serviceConnection, Context.BIND_AUTO_CREATE);//bound is true everytime 

以下はMyServiceのonBindです

public IBinder onBind(Intent intent) {

    return messenger.getBinder();
}

ここで、messenger は Messenger のインスタンスであり、アクティビティとサービスの間で通信します。

4

1 に答える 1