我有一个应用程序,它使用ACTION_PICK
允许用户选择歌曲。一旦歌曲被选中,应用程序就会使用光标位置,并在稍后执行另一个意图来显示NOW_PLAYING
界面。该应用程序运行良好,直到我在droid设备上安装了音乐测试版。应用程序随后开始出现UnsupportedOperationException
故障。意图和过滤器看起来是这样的:
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("vnd.android.cursor.dir/track");
this.startActivity(intent);
我卸载了Music Bata,应用程序再次运行良好。想看看这是否是一个与新的谷歌音乐应用程序有关的错误,看看是否有其他人有这个问题。
检查MusicUtils.java。在其中有一些选择歌曲的调用。他们都有:
intent.setDataAndType(Uri.EMPTY, "vnd.android.cursor.dir/track");
在我发现的另一个地方:
if (id == RECENTLY_ADDED_PLAYLIST) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setDataAndType(Uri.EMPTY, "vnd.android.cursor.dir/track");
intent.putExtra("playlist", "recentlyadded");
startActivity(intent);
} else if (id == PODCASTS_PLAYLIST) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setDataAndType(Uri.EMPTY, "vnd.android.cursor.dir/track");
intent.putExtra("playlist", "podcasts");
startActivity(intent);
} else {
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setDataAndType(Uri.EMPTY, "vnd.android.cursor.dir/track");
intent.putExtra("playlist", Long.valueOf(id).toString());
startActivity(intent);
}
在这两个文件中,Intent都使用Uri进行路由。空