ブロードキャストで、サービス XYZ から非静的メソッドを呼び出したいと考えています。サービスは、起動時にレシーバーによって開始されます。この実行中のサービスからメソッドを実行するアイデアはありますか? このフォーラムでの 1 つの解決策は、メソッドを静的にし、シングルトン パターンを使用して実行することです。しかし、別の方法はありますか?もしかしてバインダー付き?
//EDIT たとえば、次のクラスがあります。
public class MyService extends Service{
.....
public void method(){
//TODO
}
}
public class MyBroadcastReceiver extends BroadcastReceiver{
.....
public void onReceive(Context context, Intent intent) {
String intentAction=intent.getAction();
if(intentAction.equals(Intent.ACTION_BOOT_COMPLETED)){
//start service
Intent serviceIntent = new Intent(context, MyService.class);
context.startService(serviceIntent);
}
else{
//TODO call method() in MyService
}
}
メソッドを呼び出すにはどうすればよいmethod()
ですか? context.getSystemService()
システムサービスでキャストできることを知っています。しかし、どうすれば独自のサービス オブジェクトを取得できますか?
挨拶