gpt4 book ai didi

java - 调用虚方法 null context.getSystemService

转载 作者:行者123 更新时间:2023-12-01 09:54:34 25 4
gpt4 key购买 nike

我的 logcat 中出现此错误,没有其他信息。

尝试在空对象引用上调用虚拟方法“java.lang.Object android.content.Context.getSystemService(java.lang.String)”

在调试时我发现这部分会产生错误:

PendingIntent reply = intent.getParcelableExtra(PENDING_RESULT_EXTRA);
if (reply != null) {
if (requestType == 1) {
try {
if (! googInfo.equals("") || googReach) {
googReach = true;
}

if (! tradInfo.equals("") || tradReach) {
tradReach = true;
}

if (tradReach && googReach) {// && ! tooSlow) {
reply.send(RESULT_BOTH_AVAILABLE);
} else if (tradReach) {// && ! tooSlow) {
reply.send(RESULT_TRAD_AVAILABLE);
} else if (googReach) {// && ! tooSlow) {
reply.send(RESULT_GOOG_AVAILABLE);
} else {
reply.send(RESULT_UNAVAILABLE);
}
} catch (Exception e) {
Log.e(TAG, e.getMessage());
}
} else {
try {
if (! googInfo.equals("") || ! tradInfo.equals("") || googReach || tradReach) {
reply.send(RESULT_AVAILABLE);
} else {
reply.send(RESULT_UNAVAILABLE);
}
} catch (Exception e) {
Log.e(TAG, e.getMessage());
}
}
}

更准确地说,我执行以下操作的部分:

reply.send(RESULT_AVAILABLE);

这是一个由 Activity 启动的 IntentService。在调试时,我可以看到回复对象已正确填写,并且 RESULT_AVAILABLE 是一个静态最终 int,它也有其正确的值。

使用以下代码调用此 IntentService:

PendingIntent pendingResult = createPendingResult(INTERNET_AVAILABILITY_CODE, new Intent(), 0);
Intent intent = new Intent(getApplicationContext(), PingIntentService.class);
intent.putExtra(PingIntentService.PENDING_RESULT_EXTRA, pendingResult);
startService(intent);

奇怪的是,我没有更改代码的这些部分中的任何内容,并且它始终正常工作。另一个奇怪的事情是我的 try/catch block 没有捕获异常。我在该捕获中放置了断点和更多信息,以便我可以尝试获取有关错误的更多信息,但该部分不会被触发。

我已经用谷歌搜索了这个错误,很多人似乎在其他情况下都遇到了这个问题。我知道我的上下文为空,但在调试时我可以看到它不为空...即使使用我找到的所有链接/答案,我仍然找不到问题的根源。

最佳答案

只是作为一个侧节点。

使用这种条件使您的代码null安全:

"".equals(tradInfo)

使用tradInfo.equals(""),如果tradInfo为空,您将得到一个NullPointerException(也许这是一个有效的情况? )。如果您切换它,则不会发生。

关于java - 调用虚方法 null context.getSystemService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37347698/

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