2013-03-24 62 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")) 
      ); 

} 

由於isn't我的數據我的活動更新,往往I'm滿意,讓DashClock檢查更新。

我剛剛接觸到android開發,可能做錯了什麼:)我真的很感謝有人指着我朝着正確的方向發展!

+1

我真的不知道從代碼片段有什麼問題: - /這可能是一個愚蠢的問題,但你看到這在鎖定屏幕上的摺疊模式?也許你的擴展被上面的其他人推出?小部件一次僅顯示3個摺疊模式。 – 2013-03-24 13:14:35

+0

我有一些用戶報告它是一個錯誤,所以我不知道他們的情況,但我試圖重現它,我只有我的擴展添加,所以它不能。我在想,也許我的應用程序被系統中的onUpdateData上運行的代碼中的某些內容破壞了。我會再看看這個,但謝謝你的回覆! :) – 2013-03-24 16:03:42

回答

0

要設置可見=假numberOfEpisodes爲 「0」。這很可能發生了什麼。您可以像調試任何其他應用程序一樣調試擴展。只需在調試中運行它,然後通過ddms附加到您的應用程序。

+0

謝謝!但不能這樣,因爲劇集應該整天出現,而且這更「隨意」,但我想我必須調試它,有點無聊等着它消失你:) – 2013-03-24 12:23:14

1

Okey所以我解決了它!

當我的應用程序啓動時,我設置了靜態整數與選擇的配置文件,然後在從數據庫中獲取數據時使用該配置文件。所以當我的應用程序被系統殺死時,它會嘗試爲配置文件0(永遠不存在)提取數據。

謝謝羅比和羅馬在這方面的幫助和投入! :)