为了账号安全,请及时绑定邮箱和手机立即绑定

Java Android - AsyncTask onPostExecute 没有被调用

Java Android - AsyncTask onPostExecute 没有被调用

白猪掌柜的 2022-06-23 16:46:40
所以我一直在尝试为我的应用程序锻炼身份验证系统。我有一个 REST API 正在运行,它经过测试可以使用笔记本电脑上的 CURL 与 Oauth2 身份验证一起使用,这样我就可以获得 API 的令牌。我的result变量doInBackground确实从我的 API 获得 JSON 响应,提供访问令牌信息、它的生命等。就像我在result调试时得到这个值一样: {"access_token":"4Oq6o8oAGRf4oflu3hrbsy18qeIfG1","expires_in":36000,"token_type":"Bearer","scope":"read write","refresh_token":"iocSNJ2PTVbph2RnWmcf0Zv69PDKjw"}但是,onPostExecute由于某种原因,我没有被调用。这是我的代码。login.javapublic class Login extends AppCompatActivity {    Button LoginButton, RegButton;    EditText uUserName, uPassWord;    WSAdapter.SendAPIRequests AuthHelper;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_login);        //SetupHomeBtn = (ImageButton) findViewById(R.id.SetupHomeBtn);        LoginButton = (Button) findViewById(R.id.LoginButton);        RegButton = (Button) findViewById(R.id.LoginRegister);        uUserName = (EditText) findViewById(R.id.LoginUserBox);        uPassWord = (EditText) findViewById(R.id.LoginPassBox);        //AuthHelper = new WSAdapter().new SendDeviceDetails();        // Moves user to the main page after validation        LoginButton.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // gets the username and password from the EditText                String strUserName = uUserName.getText().toString();                String strPassWord = uPassWord.getText().toString();                // API url duh                String APIUrl = "http://192.168.0.18:8000/auth/token/";                // If the user is authenticated, then transfer to the MainActivity page                if (APIAuthentication(strUserName, strPassWord, APIUrl)){                    startActivity(new Intent(Login.this, Posts.class));                }            }        });
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

所以我实际上只是想通了这一点。事实证明我的代码运行良好,只是当我调试时,我没有意识到“运行新线程”旁边有一个按钮或类似的东西。然后它把我送到了onPostExecute. 对不起,我是菜鸟。希望这可以对未来出现这个简单错误的人有所帮助。



查看完整回答
反对 回复 2022-06-23
  • 1 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信