我最近在市場上發佈了我的應用程序。我在兩臺設備和幾臺模擬器上測試了它,並且它工作正常。但是,我現在得到了一些崩潰報告,但出現以下錯誤:Android應用程序部隊在某些設備上關閉,但不是其他設備
java.lang.RuntimeException:傳遞結果失敗ResultInfo {who = null,request = 32665,result = -1,data = Intent {(has額外)}}}到活動{com.eden.statusphere/com.eden.statussphere.FacebookConnect}:java.lang.NullPointerException
我只將一件事傳遞給FacebookConnect:一個字符串...這裏是代碼。 (我用easyandroidfacebooksdk)
private OnClickListener FacebookonListener = new OnClickListener() {
public void onClick(View v) {
try{
ConnectivityManager cMgr = (ConnectivityManager) v.getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cMgr.getActiveNetworkInfo();
String status = netInfo.getState().toString();
if (status.equals("CONNECTED")) {
intent.putExtra(".myMsg",statusHolder);
startActivity(intent);
} else {
Toast.makeText(getApplicationContext(), "No connection available",
Toast.LENGTH_SHORT).show();
}
}
catch (Exception e) {
Toast.makeText(getApplicationContext(), "Connection refused",
Toast.LENGTH_SHORT).show();
}
}
};
上面是onClickListener,statusHolder是大幹快上我的FacebookConnect活動傳遞的字符串。這是FacebookConnect部分在錯誤發生:
public void loginSuccess(Facebook facebook) {
GraphApi graphApi= new GraphApi(facebook);
if(intent.getStringExtra(".myMsg")!="null"){
try {
graphApi.setStatus(intent.getStringExtra(".myMsg"));
fbManager.displayToast("Status posted!");
Intent myIntent = new Intent(this, mainActivity.class);
startActivityForResult(myIntent, 0);
} catch (EasyFacebookError e) {
e.toString();
}
} else {
fbManager.displayToast("Fatal error occured: Your device refuses to pass the information to Facebook.");
}
}
的if-else語句我只是說,以檢查是否可能的意圖是越來越爲空過去了,但我得到了同樣的問題崩潰報告不管。我一直在拉我的頭髮很長一段時間。有人有線索嗎? HTC Thunderbolt是一款無法使用的設備。
它在不使用該設備時是否一致?所以每次都會失敗,或者有時候會失敗? – FoamyGuy 2011-05-17 18:06:14
每次在這些特定設備上都會失敗。但只有當按鈕被按下並且意圖通過時。該應用程序運行正常否則。 – abuser757891 2011-05-17 18:10:11
您正在檢查intent.getStringExtra是否返回null,但您是否確定「intent」本身非空? – 2011-05-17 19:48:48