在极端情况下不会启动通知意图

时间:2011-07-04 15:49:14

标签: android notifications android-pendingintent

这是我的情景:

  1. 我会显示无法清除的通知(FLAG_NO_CLEAR),
  2. 我设置了一个启动Activity
  3. 的待定意图
  4. 在已启动的Activity中,用户按下某个内容,然后启动另一个Activity
  5. 再次点击通知无法启动/显示待处理意图中的Activity ,这非常烦人。我希望最初的Activity能够重新启动或者被带到前面。但是,我似乎无法实现这一目标。
  6. 通知的相关代码:

    Intent i = new Intent(this, RemindersActivity.class);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // the docs say this is required
    PendingIntent pi = PendingIntent.getActivity(this, 0, i, 0);
    n.setLatestEventInfo(this, getString(R.string.app_name), text, pi);
    

    之后,它正常startActivity()(在第3步)。这是我在logcat中得到的:

    I/ActivityManager(  147): Starting activity: Intent { flg=0x10000000 cmp=my.package/my.package.RemindersActivity bnds=[0,387][480,483] }
    W/InputManagerService(  147): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@45a33fc8
    

    有关如何解决此问题的任何想法?我想到的唯一一个是使用广播意图而不是活动意图(并从接收者发起活动),但我甚至不确定它会起作用。

1 个答案:

答案 0 :(得分:1)

  

但是,我似乎无法实现这一点。

尝试将FLAG_ACTIVITY_REORDER_TO_FRONTFLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_SINGLE_TOP的组合添加到Intent