用户单击通知后完成当前活动

时间:2012-05-07 09:31:51

标签: android notifications

在我的Android客户端程序中,当用户有更新时,会收到通知。当用户点击通知时,他将进入显示通知的新活动。现在问题是当用户正在查看更新时,如果收到另一个通知,并且如果他点击该通知,则不会创建新活动。
显示上一个活动。活动没有得到更新。< 我怀疑这是因为目前的活动没有完成。我该怎样克服这个?

4 个答案:

答案 0 :(得分:0)

将其放入清单中的活动代码中(可以使用参数来更好地适应您的应用)。

  

机器人:launchMode = “singleTop”

答案 1 :(得分:0)

尝试在清单上的活动代码中添加此属性:

android:launchMode=["multiple" | "singleTop" |
                    "singleTask" | "singleInstance"]

singleTop,它不会创建其他活动,但如果存在,则调用潜在活动的onNewIntent方法。

Activity Element Documentation

答案 2 :(得分:0)

为什么要使用onResume()方法更新带有新通知数据的ui,而不是完成当前活动。编写方法来更新ui组件并从onResume()调用它。

答案 3 :(得分:0)

为什么不在代码中尝试使用WindowsFocusChanged(boolean hasFocus)。在您的情况下发生的事情是活动窗口已处于焦点状态因此当您单击通知栏并移动到同一活动窗口时,不会发生任何事情。
每次进入该活动时,都会执行onWindowFocusChanged(boolean hasFocus)。所以把你的整个代码放到这里。即使第一次调用活动,它也会被执行。因此,将来自public void onCreate(Bundle savedInstanceState)的ur代码复制到

 public void onWindowFocusChanged (boolean hasFocus)
    {
       super.onWindowFocusChanged(hasFocus);
       setContentView(R.layout.layout_name);

           //Your code to be executed here
    }

你需要使用Oncreate()函数,所以你将其声明为

@Override
   public void onCreate(Bundle savedInstanceState)
   {
    super.onCreate(savedInstanceState);
   } 


试试这个。 我希望它适合你