Мое уведомление о дешифровке исчезает
Я создаю приложение, которое поможет вам отслеживать ТВ-шоу.
Когда я впервые добавляю свой "виджет" для блокировки, появляются уведомления, если они есть, но через некоторое время они снова исчезают.
Код для моей деятельности, расширяющий DashClockExtension
@Override
protected void onUpdateData(int reason) {
DatabaseHandler databaseHandler = new DatabaseHandler(this);
ArrayList<Episode> episodes = databaseHandler.GetTodaysEpisodes();
DateHelper dateHelper = new DateHelper();
String numberOfEpisodes = "" +episodes.size();
StringBuilder sb = new StringBuilder();
for (Episode episode : episodes) {
sb.append(dateHelper.Episodenumber(episode) + " " + episode.getTitle() + "\n");
}
publishUpdate(new ExtensionData()
.visible(true)
.icon(R.drawable.ic_icon_dashclock)
.visible(!numberOfEpisodes.equals("0"))
.status(numberOfEpisodes)
.expandedTitle(numberOfEpisodes + " episodes airing today")
.expandedBody(sb.toString())
.clickIntent(new Intent("se.ja1984.twee.CalendarActivity_LAUNCH_IT"))
);
}
Поскольку мои данные не обновляются, часто я доволен проверкой обновлений DashClock.
Я новичок в разработке Android и, вероятно, делаю что-то не так:) И я был бы очень признателен, если бы кто-то указал мне правильное направление!
2 ответа
Окей, так что я решил это!
Когда мое приложение запускается, я устанавливаю статическое целое число с выбранным профилем, который затем использую при извлечении данных из базы данных. Поэтому, когда мое приложение уничтожается системой, оно пытается извлечь данные для профиля 0 (который никогда не существует).
Спасибо Робби и Роману за помощь и время, вложенное в это!:)
Вы устанавливаете visible=false, когда numberOfEpisodes равно "0". Это наиболее вероятно, что происходит. Вы можете отлаживать расширение так же, как и любое другое приложение. Просто запустите его в режиме отладки, а затем подключите к своему приложению через ddms.