そのため、位置情報の更新を取得するバックグラウンド サービスがあり、tabActivity からサービスにアクセスしたいと考えています。(メソッドは静的です)
それを達成する方法を教えてもらえますか?xxxService.yyyMethod() を試しても機能しません。
アクティビティによって開始されたバックグラウンド サービスについて話しているのですが、アクティビティはユーザーによって閉じられ、再開されました。サービスは同じアクティビティと start() にバインドされました (したがって、アクティビティが閉じられた後も存在し続けます)。機能しないということは、メソッドが何も返さないことを意味しますが、それは想定されています。また、メソッド呼び出しの後のステートメントは実行されません。– イシュワル 27 秒前 編集
アクティビティ内: 境界: *
mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
temp="LocationService bound";
locationService = ((LocationService.LocalBinder) service).getService();
locationService.setProfile(Profile);
locationService.start();
Log.e("COnnected","");
mBound = true;
}
public void onServiceDisconnected(ComponentName arg0) {
mBound = false;
}
};
*
エラー領域: *
LocationService.setProfile(homeProfile); (works fine)
LocationService.getL(); (Any statement beyond this point doesnt get executed)
Log.e("Executed","LS"); settingsActivity.status.append(Boolean.toString(LocationService.isRunning()));
*
2 行目をコメントアウトすると、3 行目と 4 行目が実行されます。PS: 活動をやめなければ、すべてうまくいきます。この問題は、アクティビティを終了して再開した場合にのみ発生します。