gpt4 book ai didi

android - Android 4.0 上的异常 `android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode)`

转载 作者:搜寻专家 更新时间:2023-11-01 08:59:56 32 4
gpt4 key购买 nike

当我在 Android 2.3.6 上运行这段代码时,它工作正常。在 4.0 上我得到一个 StrictMode 异常。从关于 SO 的一些问题来看,您似乎无法在 UI 线程上进行网络操作。但我没有在 UI 线程上执行任何 UI 操作。

我是直接调用 doBackground 并没有执行,因为我需要检查 doBackground 的返回值。我猜下面的方法应该有效。

我在这里错过了什么?

handler.postDelayed(new Runnable() {
@Override
public void run() {
God.identityHash = (String) new SwitchServer((IActionBar) splashScreen,
God.mCruiseOnServer, nameText, phoneNumberText)
.doInBackground(null);

if (!mIsBackButtonPressed && God.identityHash != null) {
FlurryAgent.logEvent(God.TCACCEPTED_AND_REGISTERED);
Intent intent = new Intent(SplashScreen.this, HomeScreen.class);
SplashScreen.this.startActivity(intent);
finish();
} else {
Toast.makeText(splashScreen,
"Unable to save your details. Please try again.",
Toast.LENGTH_LONG).show();
God.setTermsAndConditions(splashScreen, false);
}
}
}, SPLASH_DURATION);

编辑:手机上未启用严格模式。

最佳答案

首先,StrictMode是您从代码中明确打开的东西,它只是一种调试辅助工具,不应留在生产代码中。

其次,手动调用.doInBackground 意味着在UI 线程上运行它。如果你使用 AsyncTask正如预期的那样,您在 .onPostExecute 中将其返回值作为参数获取。

关于android - Android 4.0 上的异常 `android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode)`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15921252/

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