gpt4 book ai didi

java - android应用程序在登录后不启动intent

转载 作者:行者123 更新时间:2023-12-01 18:14:20 24 4
gpt4 key购买 nike

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.zomra">
<uses-permission android:name="android.permission.INTERNET"/>
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme">
<activity android:name=".Donners"/>
<activity android:name=".ThankYou"/>
<activity android:name=".AddDonner"/>
<activity android:name=".HomeActivity"/>
<activity android:name=".RegisterActivity"/>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>

我的应用程序在登录成功后不会启动新的 Intent Activity ,它只是停留在当前 Activity 中。如果我连接模拟器,它确实显示登录成功,但使用我的手机,它不会连接到本地主机,还有另一个问题说 Volley 错误超时,我如何从我的手机登录到我的本地主机,谢谢。

   
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String txtEmail = email.getText().toString();
String txtPassword = password.getText().toString();
if (TextUtils.isEmpty(txtEmail)||TextUtils.isEmpty(txtPassword)){
Toast.makeText(MainActivity.this, "All fields required", Toast.LENGTH_SHORT).show();
}
else{
login(txtEmail,txtPassword);
}
}
});

String loginStatus = sharedPreferences.getString(getResources().getString(R.string.PrefLoginState),"");

if (loginStatus.equals("loggedin")){
startActivity(new Intent(getApplicationContext(),HomeActivity.class));
}

}
private void login(final String email, final String password){
final ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setCancelable(false);
progressDialog.setIndeterminate(false);
progressDialog.setTitle("Logging in please wait... ");
progressDialog.show();
String URL = "http://10.0.2.2/login.php";
StringRequest request = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(MainActivity.class.getSimpleName(), response);
if (response.equals("Login Success")){
progressDialog.dismiss();
Toast.makeText(MainActivity.this, response, Toast.LENGTH_SHORT).show();
SharedPreferences.Editor editor = sharedPreferences.edit();
if (loginState.isChecked()){
editor.putString(getResources().getString(R.string.PrefLoginState),"logged in");
}
else {
editor.putString(getResources().getString(R.string.PrefLoginState),"logged out");

}
editor.apply();
startActivity(new Intent(MainActivity.this,HomeActivity.class));
}
else {
progressDialog.dismiss();
Toast.makeText(MainActivity.this, response, Toast.LENGTH_SHORT).show();
}

}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
Toast.makeText(MainActivity.this, error.toString(), Toast.LENGTH_SHORT).show();

}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> param = new HashMap<>();
param.put("email",email);
param.put("password",password);
return param;
}
};
request.setRetryPolicy(new DefaultRetryPolicy(30000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
MySingleton.getmInstance(MainActivity.this).addToRequestQueue(request);


}





}

最佳答案

您的应用无法启动,因为无法从您的手机访问http://10.0.2.2/login.php。您需要在终端中使用 ifconfig 并输入从中获取的 IP,而不是变量 URL,这样就可以解决问题。

关于java - android应用程序在登录后不启动intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60404251/

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