当我尝试通过单击按钮执行 AsyncTask 时,我的应用程序说该任务已经启动。我不会在 onCreate 或 onResume 或类似的任何地方执行任务。可以在创建活动时启动任务而无需我以编程方式执行它吗?
// Login button
Button loginButton = (Button) findViewById(R.id.loginBtn);
loginButton.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
loginTask.execute("");
}
});
// Background login thread
private AsyncTask<Object, String, String> loginTask = new AsyncTask<Object, String, String>(){
@Override
protected String doInBackground(Object... arg0)
{
Log.v(TAG, "Login task started");
LoginManager lm = new LoginManager();
String username = emailText.getText().toString();
String password = passwordText.getText().toString();
loginBundle = new Bundle();
loginBundle.putString(Constants.LOGIN_HANDLER_ID, lm.login(username, password));
loginMessage = Message.obtain(null, 0);
loginMessage.setData(loginBundle);
loginHandler.sendMessage(loginMessage);
return "";
}
};
这是我调用执行的唯一地方,它是我在 onCreate() 方法中创建的按钮。执行任务时,我收到任务已启动错误。
我想也许我没有正确取消线程,所以我重新启动了我的 Motrola Xoom。Xoom 启动后,我运行了该应用程序,但仍然出现此错误。我能做些什么?该应用程序使用的是 Android SDK 8 ......我在摩托罗拉 Xoom 上运行。