gpt4 book ai didi

Android 应用程序在某些设备上强制关闭,但在其他设备上不会

转载 作者:行者123 更新时间:2023-11-29 14:42:03 24 4
gpt4 key购买 nike

我最近在市场上发布了我的应用程序。我在两台设备和几个模拟器上对其进行了测试,并且运行良好。但是,我现在收到一些包含以下错误的崩溃报告:

java.lang.RuntimeException: 无法将结果 ResultInfo{who=null, request=32665, result=-1, data=Intent { (has extras) }} 传送到 Activity {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 Activity 的字符串。这是 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 语句用于检查 intent 是否作为 null 传递,但无论如何我都会收到关于同一问题的崩溃报告。很长一段时间以来,我一直在纠结这个问题。有人有线索吗? HTC Thunderbolt 是一款无法在其上运行的设备。

最佳答案

    if(intent.getStringExtra(".myMsg")!="null"){

您正在比较字符串 extra 和字符串“null”,除非您传入的额外字符串恰好是常量字符串“null”,否则它将始终失败。为了使这个问题更加复杂,您正在使用对象引用的直接比较,而不是 .equals()

您不想将它与 null 进行比较吗?

    if(intent.getStringExtra(".myMsg")!= null){

请注意,按照您当前的代码,您的比较将失败,因此您将进入 try 子句并最终调用

    graphApi.setStatus(intent.getStringExtra(".myMsg"));

返回的 extra 实际上是 null

关于Android 应用程序在某些设备上强制关闭,但在其他设备上不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6035090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com