为什么线程在加载所有数据之前终止?

时间:2012-11-10 11:40:09

标签: android asynchronous

我使用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完全关闭。这样做的最佳方式是什么?

1 个答案:

答案 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的值。