Вызов метода Toast внутри onSuccess - PullRequest
0 голосов
/ 26 июня 2019

Я использую широковещательный приемник, который читает входящие SMS.После этого я вызываю API, который работает нормально.Когда я получаю ответ, я хочу показать всплывающее сообщение на экране (onSuccess) из метода onSuccess.

Я пробовал несколько итераций, но ничего не получается.

@Override
public void onReceive(Context context, Intent intent) {
//other code...

new NetworkAccess().execute(url); => Calling NetworkAccess, Passsing the URL here. //

}

public class NetworkAccess extends AsyncTask<String, Void, Void> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected Void doInBackground(String... urls) {

          // API call here //

         public void onSuccess(int statusCode, Header[] headers, JSONObject response) {  
             // Toast Message goes here//

        }
        });
        return null;
    }

     @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
    }

}

1 Ответ

0 голосов
/ 27 июня 2019

Создать конструктор и передать в него контекст.

public class NetworkAccess extends AsyncTask<String, Void, Integer> {

    private Context mContext;

    public NetworkAccess(Context context) {
        this.mContext = context;
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    protected Integer doInBackground(String... urls) {
        //API call goes here//
    }

    @Override
    public void onSuccess(int statusCode, Header[] headers,   JSONObject response) {
         Toast.makeText(mContext, "Your message goes here.", Toast.LENGTH_SHORT).show();
        //API response comes here. I want to send an alert to the user after reading the response.//
    }

    @Override
    protected void onPostExecute(Integer aVoid) {
        super.onPostExecute(aVoid);
    }
}
...