无法连接互联网时如何呼叫警报框?

时间:2020-07-08 09:32:03

标签: android

我正在尝试拨打警报框。当我致电api时,它将检查互联网连接是否可用。如果建立连接,则没有警报框。如果连接未建立,则将显示警告框。当我调用post方法时,它显示错误。我也尝试过使用片段,但无法正常工作。

这是网络类

import android.content.Context;
import android.net.ConnectivityManager;

public class NetworkConnection {

    private Context mContext;
    public NetworkConnection(Context context){
        this.mContext = context;
    }
    public boolean isConnectingToInternet(){

        ConnectivityManager cm = (ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
        if(cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected() == true)
        {
            return true;
        }

        return false;

    }
}

这是实用程序类

public class Utility extends Activity {
public static Request post(HashMap<String, String> keys, String api_name, Activity activity) {
        NetworkConnection mConnectionDetector;
        mConnectionDetector = new NetworkConnection(activity.getApplicationContext());
        Request request = null;
        Log.e("Connection Test:", mConnectionDetector.toString());
            if (mConnectionDetector.isConnectingToInternet() == false) {

                new AlertDialog.Builder(activity.getApplicationContext())
                        .setTitle("Nuke planet Jupiter?")
                        .setMessage("Note that nuking planet Jupiter will destroy everything in there.")
                        /*.setPositiveButton("Nuke", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Log.d("MainActivity", "Sending atomic bombs to Jupiter");
                            }
                        })
                        .setNegativeButton("Abort", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                Log.d("MainActivity", "Aborting mission...");
                            }
                        }) */
                        .show();
            } else {

                StrictMode.ThreadPolicy policy =
                        new StrictMode.ThreadPolicy.Builder().permitAll().build();
                StrictMode.setThreadPolicy(policy);
                FormBody.Builder body = new FormBody.Builder();
                for (Object key : keys.keySet()) {
                    String value = (String) keys.get(key);
                    body.add(key.toString(), value);
                }

                if (getlanguagetype(activity) != null || !TextUtils.isEmpty(Utility.getlanguagetype(activity)))
                    body.add("lang", getlanguagetype(activity));
                else
                    body.add("lang", "en");
                RequestBody parmetrs = body.build();

                if (api_name.equalsIgnoreCase(Apiconfig.settings + "en") || api_name.equalsIgnoreCase(Apiconfig.settings + "ar")) {
                    request = new Request.Builder()
                            .url(api_name)
                            .addHeader("Content-Type", "application/json")
                            .addHeader("Authorization", "Bearer " + getusertoken(activity))
                            .get()
                            .build();
                } else {
                    request = new Request.Builder()
                            .url(api_name)
                            .addHeader("Content-Type", "application/json")
                            .addHeader("Authorization", "Bearer " + getusertoken(activity))
                            .post(parmetrs)
                            .build();
                }


            }
        
        return request; 

    }

0 个答案:

没有答案
相关问题