Пытаюсь написать свою напоминалку.
что получилось.
Есть БД куда сохраняются напоминания, есть класс в котором описан вид напоминания, есть будильник который эти напоминания "поднимает" в зависимости от времени.
пытаюсь вывести текст в напоминании, в идеале конечно бы ьрать его из БД, но пока не получается, поэтому пробую просто с активити его взять и запихнуть в уведомление, но тоже не получается. вот код:
Код: Выделить всё
void sendNotif() {
// 1-я часть
Notification notif = new Notification(R.drawable.ic_launcher, "Внимание!",
System.currentTimeMillis());
//Log.d("MyLogs","cccccccccc");
/*db.open();
String note2 = db.getNote();
db.close*/
Log.d("MyLogs",MainActivity.note1); // <- ОШИБКА!
// 3-я часть
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra(MainActivity.Note, MainActivity.note1);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);
// 2-я часть
notif.setLatestEventInfo(this, "Событие", MainActivity.note1, pIntent);
// ставим флаг, чтобы уведомление пропало после нажатия
notif.flags |= Notification.FLAG_AUTO_CANCEL;
notif.flags |= Notification.FLAG_INSISTENT;
notif.defaults |= Notification.DEFAULT_SOUND;
//Uri ringURI = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
//notif.sound = ringURI;
// отправляем
nm.notify(1, notif);
}
вот лог ошибки
02-25 13:18:18.779: E/AndroidRuntime(398): FATAL EXCEPTION: main
02-25 13:18:18.779: E/AndroidRuntime(398): java.lang.RuntimeException: Unable to start service com.example.myreminder.MyService@406657a0 with Intent { flg=0x4 cmp=com.example.myreminder/.MyService (has extras) }: java.lang.NullPointerException: println needs a message
02-25 13:18:18.779: E/AndroidRuntime(398): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2159)
02-25 13:18:18.779: E/AndroidRuntime(398): at android.app.ActivityThread.access$2800(ActivityThread.java:122)
02-25 13:18:18.779: E/AndroidRuntime(398): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1065)
02-25 13:18:18.779: E/AndroidRuntime(398): at android.os.Handler.dispatchMessage(Handler.java:99)
02-25 13:18:18.779: E/AndroidRuntime(398): at android.os.Looper.loop(Looper.java:132)
02-25 13:18:18.779: E/AndroidRuntime(398): at android.app.ActivityThread.main(ActivityThread.java:4025)
02-25 13:18:18.779: E/AndroidRuntime(398): at java.lang.reflect.Method.invokeNative(Native Method)
02-25 13:18:18.779: E/AndroidRuntime(398): at java.lang.reflect.Method.invoke(Method.java:491)
02-25 13:18:18.779: E/AndroidRuntime(398): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
02-25 13:18:18.779: E/AndroidRuntime(398): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
02-25 13:18:18.779: E/AndroidRuntime(398): at dalvik.system.NativeStart.main(Native Method)
02-25 13:18:18.779: E/AndroidRuntime(398): Caused by: java.lang.NullPointerException: println needs a message
02-25 13:18:18.779: E/AndroidRuntime(398): at android.util.Log.println_native(Native Method)
02-25 13:18:18.779: E/AndroidRuntime(398): at android.util.Log.d(Log.java:137)
02-25 13:18:18.779: E/AndroidRuntime(398): at com.example.myreminder.MyService.sendNotif(MyService.java:42)
02-25 13:18:18.779: E/AndroidRuntime(398): at com.example.myreminder.MyService.onStartCommand(MyService.java:27)
02-25 13:18:18.779: E/AndroidRuntime(398): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2146)
02-25 13:18:18.779: E/AndroidRuntime(398): ... 10 more
уведомление создается в отдельном потоке, может из-за этого ошибка?
как передать в уведомление свой текст (введенный на другом активити)?