Dej*_*jan 1 android android-widget
资源:
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
String s = "MusicPlayer";
if (MusicPlayerActivity.currentActivity != null) {
s = MusicPlayerActivity.currentActivity.getCurrentTrackName();
} else {
Log.d(MusicPlayerActivity.TAG,"STARTING ACTIVITY FROM WIDGET");
Intent intent1 = new Intent(context, MusicPlayerActivity.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
}
// I WANT TO UPDATE TEXT VIEW HERE
if (MusicPlayerActivity.currentActivity != null)
if (intent.getAction().equals(ACTION_WIDGET_NEXT)) {
MusicPlayerActivity.currentActivity.playNext();
} else if (intent.getAction().equals(ACTION_WIDGET_PLAY)) {
MusicPlayerActivity.currentActivity.playPause();
} else if (intent.getAction().equals(ACTION_WIDGET_PREV)) {
MusicPlayerActivity.currentActivity.playPrevious();
}
}
Run Code Online (Sandbox Code Playgroud)
我用这段代码试了一下:
Log.d(MusicPlayerActivity.TAG,s);
remoteViews.setTextViewText(R.id.w_trackInfo, s);
appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.w_trackInfo);
Run Code Online (Sandbox Code Playgroud)
但如果我把它放在评论位置,这不起作用.任何帮助赞赏.
找到解决方案只需将其添加到评论位置:
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget_layout);
views.setTextViewText(R.id.w_trackInfo, s);
AppWidgetManager.getInstance(context).updateAppWidget(
new ComponentName(context, MusicWidgetProvider.class),views);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1824 次 |
| 最近记录: |