[Android] 如何Debug 含有Bundle (has Extra) 的Intent

2012-12-24 02 15 06  

不知道在Android做Intent除錯時
和我有類似的經驗

自己寫的APP,明明看到LogCat上面寫著

 

Starting activity: Intent { cmp=<你的Package名稱>/.<你的Activity名稱> (has extras) }

 

對呀,我的Activity被Intent喚起來了

但那個has extras又是啥鬼?
阿我就是想知道那些Extras是啥呀(怒吼~

 


 

如果用Log直接把Intent直接toString

Log.v("Test Intent", intent.toString());

對不起他只會跟你說是個物件,ID為何
這訊息根本不是我們想要的

 


 

沒關係,有解的。

 

你需要

intent.getExtras()

會回傳Bundle

 

利用Bundle的

bundle.keySet()  來達成

它會回傳一個只有Key名字的hash

那你可以使用.toArray()轉換成普通的陣列

 

組合起來成為一長串

Log.v("Test Intent", intent.getExtras().keySet().toArray().toString())

 

 就是它了。

 

 

參考文章
http://groups.google.com/group/android-developers/browse_thread/thread/00828fe418964285