1

我正在使用 Thread 加载库(本机代码)必须将一些函数从 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();         
  }
}

过程是否正确。?我可以使用任何服务来解决这个问题,如果是的话,如何在活动和服务之间创建通信。

我的要求是我必须在后台连续调用一个函数,直到应用程序完全关闭。?这样做的最佳方法是什么。

4

1 回答 1

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

于 2012-11-10T12:42:04.660 回答