Используете ли вы эквивалентный контекст для привязки? Напомню, что поведение привязки зависит от того, вызываете ли вы bindService()
для действия в сравнении с получателем или в контексте службы.
А также: какое исключение? Любое "вызвано"?
РЕДАКТИРОВАТЬ: NullPointerException обычно означает, что вы передали нуль, где ожидался допустимый объект. Кроме того, исключение имело место в ContextWrapper - большинство методов там только и делают, что передают вызов базовому объекту контекста. Что намекает на то, что базовый контекст не был правильно инициализирован.
Я вижу, что звонок происходит в классе LocificationToolKit
. Является ли LocificationClientActivity
подклассом LocificationToolKit
? Если нет, то правильно ли вы вызываете конструктор LocificationToolKit
с параметром Context
? Похоже, что вы пытаетесь привязать сервис к ContextWrapper
, который не был инициализирован с ненулевым базовым контекстом.
EDIT2: InitLocification()
не может быть статическим методом - потому что тогда вы не сможете вызвать bindService()
из него. Таким образом, у вас есть экземпляр LocificationToolKit
, инициализированный примерно так:
LocificationToolKit LoTo = new LocificationToolKit(/*...*/);
Итак, вам нужен конструктор в LocificationToolKit, который принимает объект Context
и передает его в базовый класс:
LocificationToolKit(Context c)
{
super(c);
}
И когда вы создаете LocificationToolKit
где-то в LocificationClientActivity
, вам нужно передать указатель действия this
в качестве контекста. Как это:
LocificationClientActivity
{
void onCreate(Bundle b)
{
//...
LocificationToolKit LoTo = new LocificationToolKit(this);
//...
}
}