在 Linphone 中拒绝呼叫时出现 NullPointer 异常
NullPointer exception while declining Call in Linphone
我在 android 中遇到了 Linphone 库的问题。
当我有来电时,如果我接听,一切都很好,但如果我挂断,应用程序就会崩溃。
我有一个 LinphoneCore 私有变量:
private LinphoneCore mLc;
这是崩溃的函数。
private void declineCall() {
Log.e("CSR","Decline Call");
mLc.terminateAllCalls();
}
这里,输出:
04-07 10:48:40.599: E/CSR(4409): Decline Call
04-07 10:48:40.609: E/AndroidRuntime(4409): FATAL EXCEPTION: main
04-07 10:48:40.609: E/AndroidRuntime(4409): Process: com.test.myapp, PID: 4409
04-07 10:48:40.609: E/AndroidRuntime(4409): java.lang.NullPointerException: Attempt to invoke interface method 'void org.linphone.core.LinphoneCore.terminateAllCalls()' on a null object reference
04-07 10:48:40.609: E/AndroidRuntime(4409): at com.test.myapp.IncomingCallActivity.declineCall(IncomingCallActivity.java:165)
04-07 10:48:40.609: E/AndroidRuntime(4409): at com.test.myapp.IncomingCallActivity.onClick(IncomingCallActivity.java:138)
我想 LinphoneCore 变量必须初始化,但我不知道我必须输入什么。
有人遇到同样的问题或可以帮助解决问题吗?
谢谢。
我通过阅读 linphone 的代码并尝试不同的选项找到了两种可能的解决方案。
解决方案 1:
private void declineCall() {
mLc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
if (mLc != null) {
mLc.terminateAllCalls();
}
}
解决方案 2:
private void declineCall() {
mLc = LinphoneManager.getLc();
if (mLc != null) {
mLc.terminateAllCalls();
}
}
现在可以正常使用了,不会再崩溃了:-)
我在 android 中遇到了 Linphone 库的问题。 当我有来电时,如果我接听,一切都很好,但如果我挂断,应用程序就会崩溃。
我有一个 LinphoneCore 私有变量:
private LinphoneCore mLc;
这是崩溃的函数。
private void declineCall() {
Log.e("CSR","Decline Call");
mLc.terminateAllCalls();
}
这里,输出:
04-07 10:48:40.599: E/CSR(4409): Decline Call
04-07 10:48:40.609: E/AndroidRuntime(4409): FATAL EXCEPTION: main
04-07 10:48:40.609: E/AndroidRuntime(4409): Process: com.test.myapp, PID: 4409
04-07 10:48:40.609: E/AndroidRuntime(4409): java.lang.NullPointerException: Attempt to invoke interface method 'void org.linphone.core.LinphoneCore.terminateAllCalls()' on a null object reference
04-07 10:48:40.609: E/AndroidRuntime(4409): at com.test.myapp.IncomingCallActivity.declineCall(IncomingCallActivity.java:165)
04-07 10:48:40.609: E/AndroidRuntime(4409): at com.test.myapp.IncomingCallActivity.onClick(IncomingCallActivity.java:138)
我想 LinphoneCore 变量必须初始化,但我不知道我必须输入什么。
有人遇到同样的问题或可以帮助解决问题吗?
谢谢。
我通过阅读 linphone 的代码并尝试不同的选项找到了两种可能的解决方案。
解决方案 1:
private void declineCall() {
mLc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
if (mLc != null) {
mLc.terminateAllCalls();
}
}
解决方案 2:
private void declineCall() {
mLc = LinphoneManager.getLc();
if (mLc != null) {
mLc.terminateAllCalls();
}
}
现在可以正常使用了,不会再崩溃了:-)