使用TalkJavaCompat
使用TalkJavaCompat
Talk SDK是使用Kotlin作为主要语言构建的。虽然Kotlin以与Java的高互操作性而闻名,但SDK使用的是Kotlin协程,这不是Java原生的。协程用于异步操作。Java应用程序不能直接调用挂起方法。但是,您可以使用TalkJavaCompat
与您的Java应用程序使用兼容变体,这在Java中工作。
TalkJavaCompat
提供了两个API的替代品说话
接口:
Talk.lineStatus
Talk.createCall
它们都使用Kotlin协程,这使得它们不可能从Java中使用。TalkJavaCompat
提供类似的api:
TalkJavaCompat.lineStatus
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
接受两个参数:
遗嘱执行人
-可选java.util.concurrent.Executor
侦听器将被调用。如果没有提供,则在主线程上调用侦听器。TalkJavaCompatListener
- listener用于返回异步计算的值
例子
在主线程上调用监听器:
job.addListener (new TalkJavaCompatListener
() { @Override
onSuccess(@NotNull TalkCallResult result) {
}
@Override
onError(@NotNull Throwable) {
}
});
监听器被指定调用
遗嘱执行人
:job.addListener (
Executors.newSingleThreadExecutor (),
new TalkJavaCompatListener
() { @Override
onSuccess(@NotNull TalkCallResult result) {
}
@Override
onError(@NotNull Throwable) {
}
}
);
取消工作
取消正在进行的工作TalkListenableFuture
暴露了取消
方法。
例子
TalkListenableFuture
job = TalkJavaCompat。createCall(说话,callData); job.addListener (new TalkJavaCompatListener
() { @Override
onSuccess(@NotNull TalkCallResult result) {
}
@Override
onError(@NotNull Throwable) {
}
});
job.cancel ();