我有一个音乐播放器服务,当它显示前景时,我会向用户显示通知。但是当用户点击通知返回App时,它会再次更新图标(图标图像设置在onCreate上)。我知道它正在更新图标,因为它正在重新创建活动。
这是一段代码:
public void startForeground(String songName){
Intent showTaskIntent = new Intent(AudioPlayer.this, PlayerActivity.class);
showTaskIntent.setAction(Intent.ACTION_MAIN);
showTaskIntent.addCategory(Intent.CATEGORY_LAUNCHER);
showTaskIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent contentIntent = PendingIntent.getActivity(
this,
0,
showTaskIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
Notification notification = new Notification.Builder(getApplicationContext())
.setContentTitle(getString(R.string.app_name))
.setContentText(songName)
.setSmallIcon(R.drawable.logo)
.setWhen(System.currentTimeMillis())
.setContentIntent(contentIntent)
.build();
startForeground(NOTIFICATION_ID, notification);
我尝试了很多不同的标志,但它总是更新。堆栈中的其他相关案例和解决方案对我没有帮助。
-
主要问题 - 解释:
您点击通知。活动回来了(onCreate,onStart,onResume)。然后它会改变播放图像的暂停图像。
我希望有人可以帮助我。
答案 0 :(得分:3)
将android:launchMode="singleTask"
添加到AndroidManifest.xml