转载出处:http://blog.csdn.net/dadoneo/article/details/8164058
LZ:跪求清空bundle中数据的方法!!!!!!!!!!!!
-------------------------------------------------------------------------------------------------
http://www.cnblogs.com/lilihuang/archive/2011/05/12/2044668.html //谷哥度娘都说这个好,finish(),就是这么排毒养颜!!!
------------------------------------------------------------------------------------------------
LZ:谢谢楼上大大,但是我的activity还没活够,暂时还不能被finish()呢,继续冰天雪地跪求更好办法。
-------------------------------------------------------------------------------------------------
bundle.remove("A"); //楼主太弱了,吃奶去吧
-------------------------------------------------------------------------------------------------
bundle.clear(); //一楼测试过了吗?totally不行也,看我正统clear()杀将过来
--------------------------------------------------------------------------------------------------
bundle = null; //小弟补充下,经测试,同样不行,求解!
---------------------------------------------------------------------------------------------------
clearCache(); //网上有http://bbs.csdn.net/topics/220044021,但是得自己实现,bundle是存在于Parcle包之上?而大家都知道Parcel包是需要recycle()进行更新的,难道是BUG?
thisActivity.deleteDatabase(); //接口是有,但是本程序没有用到数据库啊!
System.gc(); //这是搞哪样,gc接口都上了;
//看来问题严重了,引起重视,继续求解
---------------------------------------------------------------------------------------------------
getIntent().removeExtra(); //楼上众DS请让道,
//咦,这下更惨了,“A”都取不到了;匿了,我吃奶去!
---------------------------------------------------------------------------------------------------
当当当当,哥闪电出场:
<pre class="default prettyprint prettyprinted" name="code" style="white-space: pre-wrap; word-wrap: break-word; font-size: 14px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin-top: 0px; margin-bottom: 10px; padding: 5px; border: 0px; vertical-align: baseline; background-color: rgb(238, 238, 238); overflow: auto; width: auto; max-height: 600px; line-height: 18px; "><code style="font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; "><span style="color: rgb(255, 0, 0); "><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">intent.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">setFlags</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">(</span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">PendingIntent</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">FLAG_UPDATE_CURRENT </span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">|</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; "> </span><span class="typ" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">PendingIntent</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">.</span><span class="pln" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">FLAG_ONE_SHOT</span><span class="pun" style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; background-color: transparent; font-family: 'WenQuanYi Micro Hei Mono', 'WenQuanYi Micro Hei', 'Microsoft Yahei Mono', 'Microsoft Yahei', sans-serif !important; ">);</span></span></code>其实是从这里瞄到的:
http://stackoverflow.com/questions/4116110/android-clear-intent
http://stackoverflow.com/questions/3168484/pendingintent-works-correctly-for-the-first-notification-but-incorrectly-for-the
仔细看看android doc就知道原因了:
FROM: http://developer.android.com/reference/android/app/PendingIntent.html#FLAG_UPDATE_CURRENT
- public static final int FLAG_UPDATE_CURRENT
- Added in API level 3
- Flag for use with getActivity(Context, int, Intent, int), getBroadcast(Context, int, Intent, int),
- and getService(Context, int, Intent, int): if the described PendingIntent already exists,
- then keep it but its replace its extra data with what is in this new Intent.
- This can be used if you are creating intents where only the extras change,
- and don't care that any entities that received your previous PendingIntent will be able to launch it with your new extras even if
- they are not explicitly given to it.
- Constant Value: 134217728 (0x08000000)
- public static final int FLAG_ONE_SHOT
- Added in API level 1
- Flag for use with getActivity(Context, int, Intent, int), getBroadcast(Context, int, Intent, int),
- and getService(Context, int, Intent, int): this PendingIntent can only be used once.
- If set, after send() is called on it,
- it will be automatically canceled for you and any future attempt to send through it will fail.
- Constant Value: 1073741824 (0x40000000)
我们用到PendingIntent的FLAG属性,至于Intent与PendingIntent的区别,这位仁兄已经讲解得非常明白:
http://blog.csdn.net/zeng622peng/article/details/6180190
但我们在这里没未用到PendingIntent的对象,只是借用了其FLAG而已。看来stackoverflow实乃居家旅行,杀虫必备啊!
好了,这下妈妈再也不用担心我的bundle更新啦!排除BUG,一身轻松!