【发布时间】:2010-11-19 12:56:07
【问题描述】:
我正在编写一个 android 音板,它允许用户创建多个桌面小部件,每个小部件一个声音。我正在使用一个活动让用户选择他想要为其创建小部件的声音。对于创建的每个小部件,我以
的形式存储一个共享首选项key => "WIDGET_FILENAME_"+widgetId, value=> fileName
为了播放声音,我确实覆盖了 widgetProvider 类的 onRecieve 方法。单击桌面小部件时,它会触发向此方法的广播,该方法从 Intent 中获取小部件 id,然后加载与小部件关联的共享首选项:
int appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
问题是:widgetId总是一样的,不管点击哪个widget,导致播放的声音都是一样的。
对此有任何想法或指导吗?
【问题讨论】:
标签: java android android-widget