gpt4 book ai didi

android - activity.finish() 未停止当前 Activity

转载 作者:行者123 更新时间:2023-11-29 14:13:44 25 4
gpt4 key购买 nike

我创建了一个使用异步任务调用网络服务的安卓应用程序,当身份验证失败时,用户将停止当前 Activity 并重定向回登录页面。

我的问题是当用户重定向回登录页面时,仍然显示 toast 文本,这个 toast 文本在异步线程 onPostExceute() 事件下。

这个问题有什么解决办法吗?

在 webService.cs 中

catch (UnauthorizedException ua) {
Log.d(tag, ua.getMessage());
Intent intent = new Intent(activity, LoginActivity.class);
if(condition a){
intent.putExtra("toast_text", R.string.a);
}else{
intent.putExtra("toast_text", R.string.b);
}
activity.finish();
activity.startActivity(intent);
}
return null;

然后在 asyncTask.cs 中

protected JSONArray doInBackground(String... parameters) {     
ConnectivityManager cm =
(ConnectivityManager) SingleFormActivity.this.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();

if (isConnected) {
}

return null;
}

public void onPostExecute(JSonArray result){
if(result != null){
}else{
Toast.makeText(Something.this, R.string.b, Toast.LENGTH_LONG).show();
}
}

最佳答案

你可以使用

像Toast一样创建

 Toast toast = Toast.makeText(getApplicationContext(), "", Toast.LENGTH_LONG);

在调用 finish() 之前使用下面的代码取消 toast

 if (toast != null )
toast.cancel();

关于android - activity.finish() 未停止当前 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35691729/

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