私はローカルService
とActivity
. Activity
object をに渡したいservice
ので、Activity
が my にバインドされているときService
に function を呼び出すことができますactivty.doSomething()
。やるべきですか?からBroadcastReceiver
を呼び出すために使用できることはわかっていますが、上記のアイデアと比較して、どうするのが最善の方法ですか? ?に渡すか、使用しますか? みんなありがとう!doSomething()
Service
activity
service
BroadcastReceiver
// This is MyActivity, where I will pass `activity` to `service` when `service`
// is bound or when activity is resumed. I will clear the `activity` object
// in `Service` when `Activity` is paused.
public class MyActivity extends Activity{
LocalService mService; // this is my
@Override
public void onResume(){
if(isServiceBound){
mService.setActivity(this);
}
}
public void onPause(){
if(isServiceBound){
mService.setActivity(null);
}
}
// Do something here
public void doSomething(){
}
//Code to start, bind service, unbind ... go here
}
public class LocalService extends Service{
MyActivity mActivity;
public void setActivity(MyActivity a){
mActivity = a;
}
// Start service, do something here
}