(对不起我的英文)
我需要帮助完成我的第一个课程,我必须在星期五通过学习课程...
我正在尝试创建一个应用程序,该应用程序将显示一个通知,其中包含添加提醒的表格中的说明。我对下一个描述显示机制有疑问。我在显示通知后对应用程序进行了描述。不幸的是,当应用程序关闭时,这不起作用。
public void onReceive(Context context, Intent intent) {
ScheduleNotification.completeWakefulIntent(intent);
alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
descToShow = d1;
DataBaseHandler dbh = new DataBaseHandler(context);
dbh.open();
dbh.DeleteRow(descToShow);
dbh.close();
Toast.makeText(context, descToShow, Toast.LENGTH_LONG).show();
//notification
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setSmallIcon(R.drawable.icon);
builder.setContentTitle(descToShow);
builder.setContentText(descToShow); //--description event--
builder.setAutoCancel(false).build();
//from android dev:
Intent resultIntent = new Intent(context, MainActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
stackBuilder.addParentStack(MainActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent( 0, PendingIntent.FLAG_UPDATE_CURRENT );
builder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(1, builder.build());
PendingIntent notifyPIntent = PendingIntent.getActivity(context, 0, new Intent(), 0);
builder.setContentIntent(notifyPIntent);
}
有什么想法吗?
我的github上的所有代码:https://github.com/azernax/dForget
答案 0 :(得分:0)
问题是当MainActivity
不在内存中时,您使用MainActivity
中的静态字段(因此您获得默认值而不是onCreate()
中设置的值)。正确的解决方案是再次加载数据(在您的情况下从SharedPreferences
)。
我希望这会对你有所帮助。如果您有任何问题,请评论