LoginMechanismをasynchTaskに変更して、SDK4.xでandroid.os.NetworkOnMainThreadExceptionがスローされないようにする必要があります。この非同期タスクで新しいインテントを開始する方法がわかりません。作業はdoInBackground-Methodで行われ、この戻り結果はonPostExecuteメソッドで処理されることを理解しています。このメソッドでは、新しいアクティビティとサービスを開始しようとしましたが、コンパイラエラーが表示されます
The constructor Intent(MainActivity.LoginTask, Class<AttachService>) is undefined
これがonPostExecuteメソッドです
@Override
protected void onPostExecute(String result) {
super.onPostExecute( result );
if (result.equals("")){
loginError.setText(R.string.login_error);
loginError.setVisibility(View.VISIBLE);
}
else{
loginError.setVisibility(View.INVISIBLE);
startService(new Intent(LoginTask.this, AttachService.class));
Log.d(TAG, "setting status of user " + login.getText().toString() + " to stored for service endpoint " + service_endpoint_spinner.getSelectedItemId());
if (appData.getLoggedInUser() == null){
loggedInUser = DBManager.getInstance().storeUser(user,hashedPw,target, true);
appData.setLoggedInUser(loggedInUser);
DBManager.getInstance().setUserStatusToStored(loggedInUser);
}
startActivity(new Intent(this, ActionActivity.class));
}
}
すべてのstartserviceメソッドとstartActivityメソッドはコンパイラエラーを生成します。誰かがその理由を説明できますか。ありがとう