Android应用在后台应用接收到一个广播,让后在广播中start一个Activity,但是应用不会直接打开对应的Activity而会重启从导航页进入主页,广播中start的Activity并没有打开。但是Android前台运行时可以start对应的Activity,没有问题。是什么原因?
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
String title = bundle.getString("title");
String body = bundle.getString("body");
//打开自定义的Activity
Intent intentNotifi = new Intent(context, NotificationActivity.class);
intentNotifi.putExtra("title", title);
intentNotifi.putExtra("body", body);
intentNotifi.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP );
context.startActivity(intentNotifi);
}
用隐式intent去开启一个activity试一下呢。
改动activity的启动模式试试
怎么感觉,你的app被系统清理过了,在你想要相应app的时候他会重新打开呢,时间一长,我就出现过这事,不知道楼主情况
NotificationActivity 在AndroidManifest.xml里添加android:launchMode="singleTask" 试试看呢