我在维护活动方面遇到了问题。
我有活动A,当从通知启动活动B时,我应该结束活动A,然后启动活动B.
换句话说,同时,在堆栈中,只应存在活动A或活动B.通过调用活动A中的finish()
,从活动A开始活动B时非常容易实现。但是从通知开始活动时无法实现相同的效果。
Stack应该是这样的,
但我的堆栈看起来像,
应该使用什么Intent标志或启动模式。
答案 0 :(得分:1)
如果在任务的根活动中将此属性设置为“true”,则只要用户离开任务并返回到该任务,就会将堆栈清除为根活动。
答案 1 :(得分:0)
使用您的通知将PendingIntent
发送到活动A,在onNewIntent()
中对其进行处理并启动活动B,按照您的说明完成活动A.
答案 2 :(得分:0)
为什么不在这两项活动的 finish()
中致电onStop()
,
通过这种方式,只要你离开这些活动某个地方,你就会一直有一个活动在它上面,它将被关闭,你将丢失这些数据,
作为您当前的要求,我认为只有一个Activity
应该存在,这可能会解决您的问题
答案 3 :(得分:0)
您可以尝试设置
DataTable dt = new DataTable();
string query = "select * from books"
cmd.CommandText = query;
SqliteDataAdapter da = new SqliteDataAdapter();
da.SelectCommand = cmd;
da.Fill(dt);//exception throws on this line
在您宣布活动的清单中。