Доступ к базе данных из приемника вещания? - PullRequest
0 голосов
/ 29 июля 2011

Я не могу получить доступ к базе данных SQlite из моего broadcast receiver. Это вообще возможно? Я продолжаю получать NullPointerException. В onReceive of the BroadcastReceiver я звоню

mDbHelper = new ResponderDbAdapter(context);

mDbHelper.open();

Это как-то связано с контекстом? Я хочу получить информацию базы данных, которая установлена ​​в моем MainActivity, в BroadCast Receiver.

Идеи

РЕДАКТИРОВАТЬ:

ERROR:
07-29 16:43:46.491: ERROR/AndroidRuntime(6772): FATAL EXCEPTION: main
07-29 16:43:46.491: ERROR/AndroidRuntime(6772): java.lang.RuntimeException: Unable to start receiver com.test.example.feed.receiver.RecieveSMS: java.lang.NullPointerException
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:1805)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at android.app.ActivityThread.access$2400(ActivityThread.java:117)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:981)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at android.os.Looper.loop(Looper.java:130)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at android.app.ActivityThread.main(ActivityThread.java:3684)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at java.lang.reflect.Method.invokeNative(Native Method)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at java.lang.reflect.Method.invoke(Method.java:507)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:845)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:603)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at dalvik.system.NativeStart.main(Native Method)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772): Caused by: java.lang.NullPointerException
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at com.test.example.feed.receiver.RecieveSMS.onReceive(RecieveSMS.java:67)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:1794)
07-29 16:43:46.491: ERROR/AndroidRuntime(6772):     ... 10 more

РЕДАКТИРОВАТЬ: лучшее объяснение

У меня есть отдельное действие, которое позволяет пользователю добавлять элементы в базу данных. Я хочу поделиться этим с получателем, чтобы получатель вещания знал, какие элементы находятся в базе данных. ResponderDbAdapter - это класс, который обращается к базе данных и выполняет выборки и вставки в базу данных. Каков был бы контекст ... если у меня запущен широковещательный приемник, даже если приложение закрыто, как оно может получить доступ к базе данных?

1 Ответ

0 голосов
/ 30 июля 2011

Версия контекста Broadcast Receivers, вероятно, не работает для DBHelper.Пусть получатель запустит службу и получит доступ к базе данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...