android意图额外的数据检索问题

时间:2011-01-21 19:20:16

标签: android facebook android-intent extras

我有一个奇怪的问题。我有以下代码:

if (fbIntent.hasExtra("Link")) {
            try{
            postData[0]= fbIntent.getStringExtra("Link");
            } catch (Exception e) {Log.d("fbIntent error",e.getMessage() );} 
        }

fbIntent.hasExtra(“Link”)是真的。所以编译器会进入if语句。但是我无法使用fbIntent.getStringExtra(“Link”)获取字符串。我从eclipse的调试中知道了。当我运行它时,我得到:

01-21 14:12:01.030: ERROR/AndroidRuntime(311): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.examples.Kikin/com.examples.Kikin.FacebookLogin}: java.lang.NullPointerException: println needs a message

请帮帮我。

2 个答案:

答案 0 :(得分:0)

您需要初始化postData。尝试类似String[] postData = new String[1]的内容。显然,如果你想使用postData [1],[2]和[3],你需要说new String[4]

答案 1 :(得分:0)

1)您当前的问题在

Log.d("fbIntent error", e.getMessage());

e.getMessage()可能会返回null,因此您获得了java.lang.NullPointerException: println needs a message。请改用e.toString()。或者最好的方法是:

Log.e("some tag", "some comment", e);

2)当您解决此问题时,您将能够看到实际错误,以进一步修复根/真实问题。因此,请随时使用新的日志数据更新您的帖子。