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"))
            );

}

由于我的数据经常没有更新,我很满意让 DashClock 检查更新。

我是android开发的新手,可能做错了什么:)我真的很感谢有人指出我正确的方向!

4

2 回答 2

1

好的,所以我解决了!

当我的应用程序启动时,我使用所选配置文件设置静态整数,然后在从数据库中获取数据时使用该配置文件。因此,当我的应用程序被系统杀死时,它会尝试获取配置文件 0(从不存在)的数据。

感谢 Robby 和 Roman 在这方面投入的帮助和时间!:)

于 2013-03-24T18:30:14.700 回答
0

numberOfEpisodes 为 "0"时,您正在设置visible=false。这很可能是正在发生的事情。您可以像调试任何其他应用程序一样调试扩展程序。只需在调试中运行它,然后通过 ddms 附加到您的应用程序。

于 2013-03-24T12:12:44.083 回答