问题描述
我正在使用JItsi Meet API在linphone android应用程序开源项目上进行视频通话。我遵循了jitsi在线性电话上集成的会议手册。
这是我的示例代码:
public class JitsiActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
URL serverURL;
try {
serverURL = new URL("https://meet.jit.si");
} catch (MalformedURLException e) {
e.printStackTrace();
throw new RuntimeException("Invalid server URL!");
}
JitsiMeetConferenceOptions defaultOptions =
new JitsiMeetConferenceOptions.Builder()
.setServerURL(serverURL)
.setWelcomePageEnabled(false)
.build();
JitsiMeet.setDefaultConferenceOptions(defaultOptions);
JitsiMeetConferenceOptions options =
new JitsiMeetConferenceOptions.Builder().setRoom("linphone").build();
JitsiMeetActivity.launch(this,options);
finish();
}
}
在发布模式下进行apk之后,我已经成功地在调试模式下进行了调用,当我尝试进行视频通话并转到主页时,它会刷新活动。您能给我一个解决这个问题的指南吗?我已经在Android 10操作系统上测试过APK。
-在发布模式下调试后,我发现了此错误
020-09-24 16:50:12.383 10364-10364 / org.linphone E / Android运行时:致命异常:主要 流程:org.linphone,PID:10364 java.lang.IllegalArgumentException:reportSizeConfigurations:找不到以下活动记录:令牌{2329006 ActivityRecord {cf5fae1 u0 org.linphone / .activities.JitsiActivity d-1 s-1 t-1 f}} 在android.os.Parcel.createException(Parcel.java:1967) 在android.os.Parcel.readException(Parcel.java:1931) 在android.os.Parcel.readException(Parcel.java:1881) 在android.app.IActivityManager $ Stub $ Proxy.reportSizeConfigurations(IActivityManager.java:8621) 在android.app.ActivityThread.reportSizeConfigurations(ActivityThread.java:3360) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3318) 在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:113) 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:71) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2043) 在android.os.Handler.dispatchMessage(Handler.java:106) 在android.os.Looper.loop(Looper.java:224) 在android.app.ActivityThread.main(ActivityThread.java:7096) 在java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:536) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:928) 引起原因:android.os.RemoteException:远程堆栈跟踪: 在com.android.server.am.ActivityManagerService.reportSizeConfigurations(ActivityManagerService.java:10305) 在android.app.IActivityManager $ Stub.onTransact $ reportSizeConfigurations $(IActivityManager.java:12560) 在android.app.IActivityManager $ Stub.onTransact(IActivityManager.java:2357) 在com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3841) 在android.os.Binder.execTransact(Binder.java:750)
解决方法
您需要向任何人提供一个堆栈跟踪以帮助您对其进行调试,但是,可以大大简化此代码,从而简化调试过程。
您正在为Jitsi提供它自己的默认服务器URL“ https://meet.jit.si”,因为Jitsi仍将使用它自己的服务器,因此这是不必要的。如果您打算使用自己的服务器,您仍然可以通过JitsiMeetActivity::launch
方法轻松地将其作为room参数来提供...
JitsiMeetActivity.launch(context,"https://myserver.com/linphone")
删除所有不必要的样板将使您离开:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
JitsiMeetActivity.launch(this,"linphone");
}