使用TalkJavaCompat

Talk SDK是使用Kotlin作为主要语言构建的。虽然Kotlin以与Java的高互操作性而闻名,但SDK使用的是Kotlin协程,这不是Java原生的。协程用于异步操作。Java应用程序不能直接调用挂起方法。但是,您可以使用TalkJavaCompat与您的Java应用程序使用兼容变体,这在Java中工作。

TalkJavaCompat提供了两个API的替代品说话接口:

  1. Talk.lineStatus
  2. Talk.createCall

它们都使用Kotlin协程,这使得它们不可能从Java中使用。TalkJavaCompat提供类似的api:

  1. TalkJavaCompat.lineStatus
  2. TalkJavaCompat.createCall

中定义的其余方法说话接口工作在Java和TalkJavaCompat不提供它们的变体。

TalkListenableFuture

TalkListenableFuture返回的类型是TalkJavaCompat方法。它表示异步操作,并提供了用于附加结果侦听器和取消工作的API。如果你熟悉番石榴ListenableFuture这个API是它的简化版本。

例子

             
CallData CallData = CallDataBuilder。创建("您的数字线路名称").recordingConsentAnswer(空).build ();/ /假设Zende亚博sk。此时,INSTANCE已正确配置Talk Talk = Talk.create(亚博Zendesk.INSTANCE);TalkListenableFuture job = TalkJavaCompat。createCall(说话,callData);

添加监听器

TalkListenableFuture.addListener允许为异步操作的结果添加一个监听器。

TalkListenableFuture.addListener接受两个参数:

  1. 遗嘱执行人-可选java.util.concurrent.Executor侦听器将被调用。如果没有提供,则在主线程上调用侦听器。
  2. TalkJavaCompatListener- listener用于返回异步计算的值

例子

  1. 在主线程上调用监听器:

                   
    job.addListener (new TalkJavaCompatListener() {@OverrideonSuccess(@NotNull TalkCallResult result) {@OverrideonError(@NotNull Throwable) {});
  2. 监听器被指定调用遗嘱执行人

                   
    job.addListener (Executors.newSingleThreadExecutor (),new TalkJavaCompatListener() {@OverrideonSuccess(@NotNull TalkCallResult result) {@OverrideonError(@NotNull Throwable) {);

取消工作

取消正在进行的工作TalkListenableFuture暴露了取消方法。

例子

             
TalkListenableFuture job = TalkJavaCompat。createCall(说话,callData);job.addListener (new TalkJavaCompatListener() {@OverrideonSuccess(@NotNull TalkCallResult result) {@OverrideonError(@NotNull Throwable) {});job.cancel ();