Android 无法在线程内调用getApplicationContext()
我正在Android Froyo系统上开发一个应用程序,一切都很好,只是当我创建一个服务时,该服务会产生几个线程。在其中一个线程中,我想停止服务。 显然,stopService()在thread类中超出了范围,getApplicationContext()调用也超出了范围。 那么在一个线程中,我可以得到当前的上下文吗Android 无法在线程内调用getApplicationContext(),android,multithreading,Android,Multithreading,我正在Android Froyo系统上开发一个应用程序,一切都很好,只是当我创建一个服务时,该服务会产生几个线程。在其中一个线程中,我想停止服务。 显然,stopService()在thread类中超出了范围,getApplicationContext()调用也超出了范围。 那么在一个线程中,我可以得到当前的上下文吗 谢谢声明您自己的上下文 private Context mContext; 并使用而不是getApplicationContext()声明您自己的上下文 private Cont
谢谢声明您自己的上下文
private Context mContext;
并使用而不是
getApplicationContext()
声明您自己的上下文
private Context mContext;
并使用而不是
getApplicationContext()
您可以尝试MyService.this.stopSelf()。或者,如果这不起作用,您可以在创建服务时存储对服务的引用。在oncreate中,可以执行上下文ctx=this。然后在线程ctx.stopSelf()中尝试MyService.this.stopSelf()。或者,如果这不起作用,您可以在创建服务时存储对服务的引用。在oncreate中,可以执行上下文ctx=this。然后在线程ctx.stopSelf()中,几乎不需要getApplicationContext()
<代码>活动和服务
都是上下文
的子类。您几乎不需要getApplicationContext()
<代码>活动和服务
都是上下文
的子类。