我想在一个可以在 Intent 中传递的类中调用自定义方法。在 Intent 的接收方,我想调用该类的自定义方法。假设我有一个类扩展了 ResultReceiver 这两个方法
class MyClass extends ResultReceiver {
public doBefore(){ //custom method
Log.d("sdf","before");
}
public doAfter(){ // custom method
Log.d("sdf","After");
}
@Override
public void onReceiveResult(final int resultCode, final Bundle resultData) {
}
}
我想将 Intent 中的 MyClass 传递给另一个 Activity 或 Service。所以假设我将 MyClass 传递给服务
MyClass mcl = new MyClass()
final Intent intent = new Intent(mContext, MyService.class);
intent.putExtra(INTENT_EXTRA_RECEIVER, mcl);
在 MyService 类中,我在 onHandleIntent() 方法中获得了意图。
MyService 类中的方法
@Override
protected void onHandleIntent(Intent intent) {
MyClass eval = (MyClass) intent.getParcelableExtra(INTENT_EXTRA_RECEIVER);
eval.doBefore(); // Is this possible??
eval.doAfter();
sendSuccess(intent, null);
}
现在我想在“MyClass”类中执行这两个方法。最后调用“MyClass”中的 onReceiveResult() 但我无法调用我的自定义方法。我不想开始活动或服务。我想执行我的自定义方法。
无论如何我可以从服务或活动中调用我的自定义方法,比如 ResultReceiver 的 onReceiveResult()。?