我正在尝试使用sinch而我正在使用erros我不知道为什么我似乎已经设置好了。
它指的是代码的这一部分
public void that(final String name) {
call.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
if ((getSinchServiceInterface() == null) || (!getSinchServiceInterface().isStarted())) {
getSinchServiceInterface().startClient(name);
}
}
});
}
“getSinchServiceInterface()。startClient(name);”
这是我的错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.obi.thinker.logins.call.SinchService$SinchServiceInterface.startClient(java.lang.String)' on a null object reference
at com.obi.thinker.logins.tabs.Chatting$caller$1.onClick(Chatting.java:386)
at android.view.View.performClick(View.java:5265)
at android.view.View$PerformClick.run(View.java:21534)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5683)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
我不明白
答案 0 :(得分:1)
if ((getSinchServiceInterface() != null && !getSinchServiceInterface().isStarted())) {
getSinchServiceInterface().startClient(name);
}
callstack说:
getSinchServiceInterface()
是null
答案 1 :(得分:0)
我几周来一直面临着这个问题。我从头开始重写了我的SinchService,完全删除了Sinch并试图重新开始,但都无济于事。事实证明,我只是过早地初始化我的电话。
我建议您移动代码块:
if ((getSinchServiceInterface() != null || !getSinchServiceInterface().isStarted())) {
getSinchServiceInterface().startClient(name);
}
我把我移到了 onResume 方法的最后,现在看来一切正常。这不会持续启动客户端的原因是因为我们正在添加'if'语句以确保它尚未初始化。
如果您发现问题仍然存在,我一度就是这种情况,请尝试在活动启动结束时调用它。它简直归结为在您的BaseActivity有机会初始化 mSinchServiceInterface
之前被调用