Мое приложение получает намерение от службы, которая затем выводит уведомление. Это намерение имеет идентификатор объекта, из которого я хочу извлечь весь объект из моей базы данных, чтобы я мог установить заголовок уведомления и субтитры. Однако мне нужно перейти в контекст к моему dbManager, и я получаю ошибки независимо от того, в каком контексте я пытаюсь.Каков подходящий контекст для использования в приемнике услуг для создания объектов?
Код выглядит следующим образом:
public class ReceiveTransitionsIntentService extends IntentService {
private DBManager dbManager;
public ReceiveTransitionsIntentService() {
super("ReceiveTransitionsIntentService");
}
protected void onHandleIntent(Intent intent) {
//somewhere
sendNotification(..);
}
private void sendNotification(String transitionType, String ids) {
Intent notificationIntent =
new Intent(getApplicationContext(),MainActivity.class);
...
//have tried with getbaseContext() and this, still failures
dbManager = new DBManager(getApplicationContext());
...
}
}
Кто-нибудь есть какие-либо идеи о том, что я мог сделать?
Эти ошибки:
новый DBManager (это) -> java.lang.ClassCastException: .ReceiveTransitionsIntentService не может быть приведен к android.app.Activity
новый DBManager (getApplicationContext) -> Java. lang.ClassCastException: android.app.Application не может быть приведен к android.app.Activity
новый DBManager (getBaseContext) -> java.lang.ClassCastException: android.app.Contextimpl не может быть приведен к android.app.activity
Оформить заказ, я думаю, что это поможет. http://stackoverflow.com/questions/987072/using-application-context-everywhere?rq=1 –