我使用Thread加载库(Native code)必须从android代码调用一些函数到本机代码。经过一段时间线程终止后,它工作正常,因此这些函数调用不正常。目前我正在使用此代码进行线程创建。
class aThread extends Thread {
public static boolean finished;
public void run() {
if ( a_app.initApp() != 0) {
return;
} else {
}
a_app.startPjsua(ApjsuaActivity.CFG_FNAME);
finished = true;
a_app.deinitApp();
}
}
是否正确的过程。? 我是否可以使用任何服务来解决此问题,如果是,如何在活动和服务之间创建通信。
我的要求是我必须在后台调用一个函数连续upto app完全关闭。这样做的最佳方式是什么?
答案 0 :(得分:1)
你在找这样的东西吗?
boolean ok;
onCreate(Bundle a)
{
...
ok=true;
new aThread().start();
}
class aThread extends Thread {
public static boolean finished;
public void run() {
while(ok==true)
{
if ( a_app.initApp() != 0) {
ok=false;
} else {
a_app.startPjsua(ApjsuaActivity.CFG_FNAME);
finished = true;
a_app.deinitApp();
}
//If you want to execute after some interval..
//Thread.sleep(time_in_milliseconds);
}
}
}
这样它就会运行ok=true
。当您退出应用程序或者想要停止该线程时;设置ok=false
的值。