Невозможно вызвать getApplicationContext () внутри потока

1

Я разрабатываю приложение на Android Froyo, все в порядке, за исключением того, что когда я создаю службу, и служба будет порождать несколько потоков. В одном из потоков я хочу остановить службу. По-видимому stopService() выходит за рамки в классе потоков, а также вызовы getApplicationContext(). Итак, внутри потока, могу ли я получить текущий контекст и как?

Спасибо

  • 1
    Вы почти никогда не нуждаетесь в getApplicationContext() . Activity и Service являются подклассами Context .
Теги:
multithreading

2 ответа

3

Объявить свой собственный контекст

private Context mContext;

и используйте insted getApplicationContext()

1

Вы можете попробовать MyService.this.stopSelf(). Если это не сработает, вы можете сохранить ссылку на свою службу при ее создании. В вашем oncreate вы можете сделать Context ctx = this. А затем в вашей нити ctx.stopSelf()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню