有些事情我现在还不太明白.
我的主要活动类创建一个Service,它创建一个等待TCP连接的新线程.一旦进入,它将开始一项新活动:
Intent dialogIntent = new Intent(getBaseContext(), VoIPCall.class);
dialogIntent.putExtra("inetAddress", clientSocket.getInetAddress());
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(dialogIntent);
Run Code Online (Sandbox Code Playgroud)
之后,onCreate()该类的方法运行.它将创建2个线程:一个记录并发送数据,另一个接收和播放数据.那些线程有一个永远的while循环.
出于某种原因,我注意到onCreate()最后一个类的内容再次被调用,这使我的程序崩溃.我不明白为什么它再次被调用,因为只有2个线程正在运行,没有用户交互.文档说:"首次创建活动时调用.".该活动已在运行,我不是想创建它.
有人可以解释一下这种行为吗?
我有一个侦听TCP连接的线程.建立连接时,我想基本停止当前活动正在进行的操作,并转移到另一个运行不同线程的活动并显示不同的布局.
现在我还想保持该线程运行(等待TCP连接).
我可以使用Intent上的startActivity()将活动从一个更改为另一个,但是在我的线程中这不起作用.
我怎么能取悦这种行为?
非常感谢,
詹姆士