0

我想在一个可以在 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()。?

4

1 回答 1

0

我不确定我是否正确理解了您的问题,因为您尝试通过意图调用进行访问似乎令人困惑。难道不能像下面这样简单地做吗?

mcl.doBefore();
于 2012-08-09T08:26:28.053 回答