乐队名称和歌曲名称不显示在推送通知中
Name of Band and Title of Song do not display in push notifications
所以我有这段代码,它在我的通知中运行良好。但是没有显示正确的歌曲。
我的 ("Standard Title") 和 ("songTitle") 测试可以很好地处理虚拟数据。但是实际的歌曲数据不会显示为 ("Metallica") 或 ("Master Of Puppets")。我的原始文件夹中有文件,歌曲播放正常,但当应用程序运行时,正确的(乐队名称)和(歌曲名称)不显示。
我的问题是;我应该创建 xml 文件来保存该信息吗?或者值文件夹中的一组字符串?
感谢您的帮助。
// Notification Manager
NotificationManager mgr =
(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
// Setting the default action.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pIntent =
PendingIntent.getActivity(this, REQUEST_NOTIFY_LAUNCH, intent, 0);
// Setting the default action.
builder.setContentIntent(pIntent);
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setLargeIcon(BitmapFactory.decodeResource(
getResources(), R.drawable.ic_launcher));
builder.setContentTitle("Standard Title");
builder.setContentText("songTitle");
mgr.notify(STANDARD_NOTIFICATION, builder.build());
}
不要在字符串文件中声明乐队和歌曲名称。这真的是不好的做法。如果您播放一首不在您的弦乐文件中的歌曲,会发生什么情况?文件有多大?相反,从音乐文件本身获取该信息。
你会想要使用 MediaMetadataRetriever
,当一首新歌开始播放时使用类似这样的东西。
这是从 mp3 文件中获取标题的示例:
MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
Uri uri = Uri.fromFile(mp3File);
mediaMetadataRetriever.setDataSource(yourContext, uri);
String title = mediaMetadataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
也看看http://developer.android.com/reference/android/media/MediaMetadataRetriever.html
所以我有这段代码,它在我的通知中运行良好。但是没有显示正确的歌曲。
我的 ("Standard Title") 和 ("songTitle") 测试可以很好地处理虚拟数据。但是实际的歌曲数据不会显示为 ("Metallica") 或 ("Master Of Puppets")。我的原始文件夹中有文件,歌曲播放正常,但当应用程序运行时,正确的(乐队名称)和(歌曲名称)不显示。
我的问题是;我应该创建 xml 文件来保存该信息吗?或者值文件夹中的一组字符串?
感谢您的帮助。
// Notification Manager
NotificationManager mgr =
(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
// Setting the default action.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pIntent =
PendingIntent.getActivity(this, REQUEST_NOTIFY_LAUNCH, intent, 0);
// Setting the default action.
builder.setContentIntent(pIntent);
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setLargeIcon(BitmapFactory.decodeResource(
getResources(), R.drawable.ic_launcher));
builder.setContentTitle("Standard Title");
builder.setContentText("songTitle");
mgr.notify(STANDARD_NOTIFICATION, builder.build());
}
不要在字符串文件中声明乐队和歌曲名称。这真的是不好的做法。如果您播放一首不在您的弦乐文件中的歌曲,会发生什么情况?文件有多大?相反,从音乐文件本身获取该信息。
你会想要使用 MediaMetadataRetriever
,当一首新歌开始播放时使用类似这样的东西。
这是从 mp3 文件中获取标题的示例:
MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
Uri uri = Uri.fromFile(mp3File);
mediaMetadataRetriever.setDataSource(yourContext, uri);
String title = mediaMetadataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
也看看http://developer.android.com/reference/android/media/MediaMetadataRetriever.html