我在恢复通知点击活动时遇到问题。我有一个应用程序播放一首歌一段时间。这个想法是当你播放一首歌,并按 Home 按钮时,应该会有通知,让你返回到你可以停止歌曲的应用程序。
以下是我发布通知的方式:
private void pushNotificationsOld()
{
Intent resultIntent = new Intent(context, MainActivity.class);
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent resultPendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationManager mNM;
NotificationCompat.Builder builder;
mNM = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
builder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(getResources().getString(R.string.app_name))
.setContentText("Now playing: " + songList.get(activeSong).name)
.setOngoing(true);
builder.setContentIntent(resultPendingIntent);
mNM.notify(mId, builder.build());
}
这是我的清单:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
按播放按钮调用 pushNotificationsOld() 。
应用程序中只有一个活动
使用此代码,当我按下通知时,会创建新活动,并且音乐会继续在后台播放
当我按主页并从最近的应用或图标返回应用时,它会变得很糟糕。
答案 0 :(得分:1)
在manifest.xml中,添加MainActivity
:
android:launchMode="singleTop"
答案 1 :(得分:0)
有很多这样的问题,但是对于我的问题,我找到了一个解决方案here,由Oderik回答。