安卓 跳转到OtherActivity后,点击home返回桌面,如何打开应用并保持OtherActivity在顶层(和在桌面直接点击app效果一样)

来源:互联网 发布:成都轩通大数据怎么样 编辑:程序博客网 时间:2024/06/06 20:18

最近在做音乐播放器,在首界面点击跳转到OtherActivity(其他的Activity)后,按下home键返回桌面,我通知栏有个通知,需要点击通知恢复打开App,并保持之前的所有状态,和在桌面直接点击app效果一样,首界面的LaunchMode使用SingleTask可以启动首界面,并且保持活动,但是其他的Activity全部被销毁了,没有达到我需要的效果。

后来转换思考方向,可不可以使用一个应用启动其他应用的方法来自己启动自己

于是有了以下代码:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);            
ComponentName cn = new ComponentName("com.example.musicplayer", "com.example.musicplayer.TopActivity");   //第一个参数是包名,第二个是类名(前面需要有类所在的包,就像在清单文件中注册那样写)         
intent.setComponent(cn);

PendingIntent Pintent = PendingIntent.getActivity(this, 4, intent,
PendingIntent.FLAG_UPDATE_CURRENT);

notification.contentIntent = Pintent;

notManager.notify(99, notification);// 开启通知


红色部分是关键代码,果然,可以达到我要的效果,不会创建新的Activity实例,也不会改变Activity在栈中的顺序,返回桌面前是什么样,回到应用后还是什么样,依旧OtherActivity在顶层。



1 0
原创粉丝点击