如何将自定义调用对象从服务传递到活动?

时间:2016-05-06 16:19:08

标签: android service

我正在使用KandySDK实现视频通话应用程序。我已经在服务中实现了传入呼叫侦听器,因此当我的应用程序不可见或崩溃时,服务可以接收所有传入的呼叫。现在,我想将我在服务中收到的传入呼叫对象传递给活动。我开始知道在这种情况下可以使用parcelable或serializable。我试图实现parcelable机制,但我不能成功。所以我需要你们的帮助。这种情况如何处理或如何将该对象传递给活动?

我接到以下服务方式来电:

@Override
    public void onIncomingCall(IKandyIncomingCall iKandyIncomingCall) {
        Display.log(TAG, "Hey there! Incoming call arrived");

        Intent intent = new Intent(this, CallAcceptActivity.class);
        //intent.putExtra("fromService",Boolean.TRUE);

        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    }

1 个答案:

答案 0 :(得分:1)

让您的服务在包含该呼叫的活动巴士(LocalBroadcastManager,greenrobot的EventBus,Square&#Otto等)上举办活动。让您的活动注册该活动,并在活动到达时进行处理。让您的服务在未处理事件时检测到案例(例如,您没有正在运行的活动)并执行某项后备措施。

以下是演示此模式的示例应用: