Android 显示当前歌曲标题

Android 显示当前歌曲标题,android,service,broadcastreceiver,sharedpreferences,Android,Service,Broadcastreceiver,Sharedpreferences,嗨,我有一个音乐播放器的服务。它包含一个broadcastReceiver,可在我的活动中更新seekbar。我正在使用此方法显示歌曲标题。我已经得到了预期的结果,但这是很好的更新歌曲标题和专辑艺术。如果不建议我的替代方法。另一个问题是,当活动被销毁时,如何保存最后播放的歌曲。我使用了SharedReference。我获得了标题,但无法将其设置为Textview。你能指引我吗?请回答这个问题!!! 谢谢大家! 您可以防御性地从共享首选项中提取歌曲标题,并将其分配给文本视图。以下是一个例子: Te

嗨,我有一个音乐播放器的服务。它包含一个broadcastReceiver,可在我的活动中更新seekbar。我正在使用此方法显示歌曲标题。我已经得到了预期的结果,但这是很好的更新歌曲标题和专辑艺术。如果不建议我的替代方法。另一个问题是,当活动被销毁时,如何保存最后播放的歌曲。我使用了SharedReference。我获得了标题,但无法将其设置为Textview。你能指引我吗?请回答这个问题!!!
谢谢大家!

您可以防御性地从共享首选项中提取歌曲标题,并将其分配给文本视图。以下是一个例子:

TextView text = findViewById(R.id.text);
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
  String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
text.setText(name); 
}

如果我猜对了。restoredText是我从SharedReference获得的文本,但是名称字符串呢?我尝试了你的方法,但得到了空指针异常。我可以使用相同的方法存储我的歌曲的搜索进度,并在活动开始时从相同的位置播放。