![](/img/trans.png)
[英]Android Activity ClassNotFoundException - tried everything
[英]Tried everything but android finish(); activity not working
我們嘗試了一切來完成特定活動,但未能這樣做。 代碼運行沒有任何錯誤或警告只是無法完成活動。 我們嘗試了stackoverflow中的每個解決方案以及其他論壇。 需要一個解釋的解決方案。
public void HttpSmsRequest(final String Phone){
final ProgressDialog pDialog = new ProgressDialog(this);
pDialog.setMessage("Loading...";
pDialog.show();
Map<String, String> jsonParams = new HashMap<String, String>();
// jsonParams.put("param1", youParameter);
jsonParams.put("Phone", Phone);
//jsonParams.put("rememberMe", "true";
JsonObjectRequest myRequest = new JsonObjectRequest(
Request.Method.POST,
AppGlobal.host+"PhoneVerification/sendSms",
new JSONObject(jsonParams),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try
{
Log.v("Success", "success: " + response.toString());
//MessageBox.Show(ProfileInfoActivity.this, "Response: " + response.toString());
pDialog.dismiss();
JSONObject obj=new JSONObject(response.toString());
// String ID=obj.getString("ID";
String Flag=obj.getString("Flag";
String Message=obj.getString("Message";
// Context context = getApplicationContext();
//
/// appPrefs.setUserIdentity(Integer.parseInt(ID));
if(Boolean.parseBoolean(Flag))
{
Intent intent=new Intent(PhoneVerificationActivity.this,ConfirmSms.class);
intent.putExtra("PhoneNumber", Phone);
//intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
finish();
return;
//finishActivity(Activity.RESULT_OK);
}
}
catch (Exception ex)
{
MessageBox.Show(context, ex.getMessage());
}
// verificationSuccess(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//Log.v("Success", "Error: " + error.networkResponse.statusCode);
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
MessageBox.Show(PhoneVerificationActivity.this, "Error: " + error.toString());
AppController.getInstance().getRequestQueue().cancelAll("tag_json_obj";
}
pDialog.dismiss();
//verificationFailed(error);
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map headers = new HashMap();
if (!Preference.getInstance().getCookie().equals("")
headers.put("Cookie", Preference.getInstance().getCookie());
return headers;
}
/*@Override
protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
Map headers = response.headers;
String cookie = headers.get("Set-Cookie".toString();
Preference.getInstance().saveCookie(cookie);
// MyApp.get().checkSessionCookie(response.headers);
Log.v("Success", "Response"+response.headers.toString());
return super.parseNetworkResponse(response);
}*/
};
AppController.getInstance().addToRequestQueue(myRequest, "tag_json_obj";
}
嘗試在Activity
上創建一個名為finish()
。 然后,從onResponse()
調用此方法。
就像是:
private void killActivity() {
finish();
}
然后,在這里打電話:
if(Boolean.parseBoolean(Flag)) {
Intent intent=new Intent(PhoneVerificationActivity.this,ConfirmSms.class);
intent.putExtra("PhoneNumber", Phone);
startActivity(intent);
killActivity(); // Here.
}
檢查代碼中的以下內容
1.您是否正確擴展了活動?
Public class YourActivity extends Activity{
}
2.如果您正確擴展活動,Finish()將正常工作。
YourActivity.this.finish();
3.如果使用Dialogs,則應在完成活動之前關閉Dialog
Dialog.dismiss();
希望可能是有幫助的。
快樂編碼:)
如果要在意圖結果中傳輸大數據,則可能無法完成活動。 例如,當我將字節數組放在大尺寸的圖像上時,完成不起作用,當我更改圖像大小時,相同的代碼工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.