如何从外部服务访问任何应用程序上下文?

时间:2014-07-06 19:51:33

标签: android service runnable

我的服务是外部jar库。如何在ExecutionCode runnable中获取任何应用上下文?我试过了:

public class ExecutionCode implements Runnable {
   Context context;
   public ExecutionCode(Context context) {
      this.context = context;
   }
}




public class MyService extends Service {

    Thread testThread;

    @Override
    public void onCreate() {
        super.onCreate();
        testThread = new Thread(new ExecutionCode(this.getApplicationContext()), "Bad things happening");
        testThread.start();
    }

但我明白了:

07-06 21:50:20.450: E/AndroidRuntime(24959): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

1 个答案:

答案 0 :(得分:0)

这绝对不是错误,因为您正在使用上下文。这是一个线程问题。

我不确定为什么这不起作用,因为我认为应该在UI线程中创建线程......

尝试使用或查看IntentService http://developer.android.com/reference/android/app/IntentService.html

创建一个服务,该服务将在后台线程中执行代码或查看其来源,以了解Android的工作方式。