Мое уведомление о дешифровке исчезает

Я создаю приложение, которое поможет вам отслеживать ТВ-шоу.

Когда я впервые добавляю свой "виджет" для блокировки, появляются уведомления, если они есть, но через некоторое время они снова исчезают.

Код для моей деятельности, расширяющий 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.

Другие вопросы по тегам