Я недавно выпустил свое приложение на торговой площадке. Я протестировал его на двух устройствах и нескольких эмуляторах, и он работал нормально. Однако сейчас я получаю несколько отчетов о сбоях со следующей ошибкой:
java.lang.RuntimeException: сбой при доставке результата ResultInfo {who = null, request = 32665, result = -1, data = Intent {(has extras)}} в действие {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.