2013-03-24 3 views
0

Я создаю приложение, которое поможет вам отслеживать телепередачи.Уведомление о моем уведомлении о часах

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

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

} 

Поскольку мои данные не правда обновляются, что часто I'm удовлетворены позволяя проверить DashClock обновлений.

Я новичок в разработке Android и, вероятно, что-то неправильно делаю :) И я бы очень признателен, если кто-то указал мне в правильном направлении!

+1

Я не могу сказать, что не так из фрагмента: -/Это может быть глупый вопрос, но видите ли вы в сложенном режиме на экране блокировки? Возможно, ваше расширение вытесняется другими над ним? Виджет показывает только 3 раза в режиме свертывания. –

+0

У меня было несколько пользователей, сообщивших об этом как об ошибке, поэтому я не знаю их ситуации, но я попытался воспроизвести ее, и у меня было добавлено только расширение, поэтому оно не может быть. Я думаю, что, возможно, мое приложение будет убито системой, которая сломает что-то в моем коде, который запускается в onUpdateData. Я посмотрю на это еще немного, но спасибо за ответ! :) –

ответ

0

Вы настраиваете Visible = ложные когда numberOfEpisodes является "0". Скорее всего, это то, что происходит. Вы можете отлаживать расширение, как если бы вы отлаживали любое другое приложение. Просто запустите его в отладке, а затем присоедините к своему приложению через ddms.

+0

Спасибо! Но это не может быть так, потому что эпизоды должны появляться весь день, и это более «случайный», но я думаю, мне придется отлаживать его, вроде скучно, ожидая его, чтобы он исчез. :) –

1

Okey, поэтому я решил это!

Когда мое приложение запускается, я устанавливаю и статическое целое с выбранным профилем, который затем использую при извлечении данных из базы данных. Поэтому, когда мое приложение убивает система, он пытается получить данные для профиля 0 (который никогда не существует).

Спасибо Робби и Роману за помощь и время, вложенные в это! :)

Смежные вопросы