を呼び出すリモート サービスに接続するライブラリを作成しました。
return context.bindService(bindIntent,
serviceConnectionSmartCard, Context.BIND_AUTO_CREATE);
context が ApplicationContext であり、serviceConnectionSmartCard が私のカスタム ServiceConnection である
public void onServiceConnected(ComponentName className, IBinder service) {
synchronized (this) {
if (waitForConnection) {
waitForConnection = false;
} else {
return;
}
}
if(service == null) {
Log.w(TAG, "Binding to Service failed.");
smartCardReaderService.onConnected(null);
} else {
if (D) Log.d(TAG, "Attached to Server.");
IConnectionService connectionService = IConnectionService.Stub.asInterface(service);
smartCardReaderService.onConnected(connectionService);
}
}
サービス側では、onBind() に次のものがあります。
public IBinder onBind(Intent intent) {
if (D) Log.d(TAG, "onBind");
android.os.Debug.waitForDebugger();
return iConnectionService.asBinder();
}
iConnectionService は私の AIDL ファイルの実装です。
今私の問題:サービスをデバッグする限り機能します(returnステートメントにブレークポイントを設定します)が、代わりにアクティビティをデバッグすると機能しません。ServiceConnection は返されません。
ところで:私は電話します
startActivityForResult(...);
Activity.onCreate でリモート アクティビティを呼び出します。これはここで問題になる可能性がありますか?このような奇妙な動作をデバッグする方法がわかりません...
前もって感謝します。