インターネット接続を確認してくださいOKHTTP

アックマン

次のコードを使用してAPI呼び出しを行い、受信した応答に基づいてユーザーをページに誘導しています。インターネット接続を確認するにはどうすればよいですか?

OK HTTPクライアントを使用していますが、コードは次のようになります。

 button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String url = "https://xxxxxxxx/" + orderLineId;
            JSONObject jSon = new JSONObject();
            try {
                jSon.put("prescription_xxxxx", prescriptionIntervalId);
                jSon.put("prescription_xxxxxxx", false);
            } catch (JSONException e) {
                e.printStackTrace();
            }
            String data = jSon.toString();
            RequestBody body = RequestBody.create(JSON, data);
            Request request = new Request.Builder()
                    .url(url)
                    .addHeader("Content-Type", "application/json")
                    .addHeader("Authorization", token)
                    .addHeader("Accept", "application/json")
                    .put(body)
                    .build();

            client.newCall(request).enqueue(new Callback() {@Override
                public void onFailure(Request request, IOException e) {

                    AlertDialog.Builder dialog = new AlertDialog.Builder(AutoRefillActivity.this);
                    dialog.setMessage("Something went wrong. Check connection.")
                            .setCancelable(false)
                            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int id) {
                                    onBackPressed();
                                }
                            });
                    AlertDialog alert = dialog.create();
                    alert.show();
                }

                @Override
                public void onResponse(Response response) throws IOException {

                    if(response.code()==401){

                        AlertDialog.Builder dialog = new AlertDialog.Builder(AutoRefillActivity.this);
                        dialog.setMessage("Device was idle for too long please login again.")
                                .setCancelable(false)
                                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int id) {
                                        onBackPressed();
                                    }
                                });
                        AlertDialog alert = dialog.create();
                        alert.show();

                    }
                    else {

                        Intent paymentSummary = new Intent(AutoRefillActivity.this,PPPaymentSummaryActivityNew.class);
                        paymentSummary.putExtra(PPPaymentSummaryActivityNew.EXTRA_ORDER,String.valueOf(orderLineId));
                        paymentSummary.putExtra("order_line_id",orderLineId);
                        paymentSummary.putExtra(PPPaymentSummaryActivityNew.EXTRA_CATEGORY_CODE,categoryCode);
                        paymentSummary.putExtra("prescriptionIntervalId",prescriptionIntervalId);
                        paymentSummary.putExtra("available",available);
                        paymentSummary.putExtra("token",token);
                        Bundle newBundle = new Bundle();
                        newBundle.putParcelable(PPPaymentSummaryActivityNew.EXTRA_PRODUCT,product);
                        paymentSummary.putExtras(newBundle);
                        startActivity(paymentSummary);

                    }
                }

非同期リクエストのonFailureにアラートボックスを入れましたが。それは動作しません。それでもインターネットをオフにでき、アプリがクラッシュします。これに対する解決策はありますか?

Mithun Sarker Shuvro

次の方法で、インターネットが利用可能かどうかを判断します

/**
 *
 * @param context
 * @return true if connected to Internet
 *
 */
public static boolean isNetworkAvailable(final Context context) {
    final ConnectivityManager cm = (ConnectivityManager)
            context.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (cm == null) return false;
    final NetworkInfo networkInfo = cm.getActiveNetworkInfo();
    // if no network is available networkInfo will be null
    // otherwise check if we are connected
    return (networkInfo != null && networkInfo.isConnected());
}

次に、そのようなWebサービスを実行します

if(isNetworkAvailable(context)){
   //do something
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

インターネット接続が悪いことを確認してくださいandroidstudio

分類Dev

API29上でインターネット接続を確認してください

分類Dev

Android WebView(Cordova)でインターネット接続を確認してください

分類Dev

インターネット接続の問題を確認してください

分類Dev

実際のインターネット接続を確認してください

分類Dev

C#でインターネット接続が利用可能かどうかを確認してください

分類Dev

インターネット接続の安定性を確認してください

分類Dev

Alamofireを使用してiOSデバイスでインターネット接続を確認してみてください

分類Dev

リポジトリ情報のダウンロードに失敗しました。インターネット接続を確認してください

分類Dev

リポジトリ情報のダウンロードに失敗しました。インターネット接続を確認してください

分類Dev

VBScriptでネットワーク接続を確認してください

分類Dev

バックグラウンドスレッドでAndroidNougatのインターネット接続を確認してください

分類Dev

30分ごとにバックグラウンドサービスでインターネット接続を確認してください

分類Dev

Firestoreクエリを実行する前にインターネットデータ接続を確認してください

分類Dev

インターネット接続Xamarinフォームがあるかどうかを常に確認してください

分類Dev

PPAにアクセスできません...インターネット接続を確認してください

分類Dev

ログインできませんでした。ネットワーク接続を確認して、もう一度お試しください

分類Dev

Android、ボタンをクリックしてサーバー接続を確認してください

分類Dev

AWS CodeBuild –ビルドにはインターネット接続がありません。サブネットネットワーク構成を確認してください

分類Dev

RaspberryPiがインターネットに接続されているかどうかを確認します

分類Dev

14.04 Software Updaterに、リポジトリ情報のダウンロードに失敗したと表示されます。インターネット接続を確認してください

分類Dev

JavaScriptを使用してインターネット接続が接続されていることを確認することはできますか?

分類Dev

InnoSetupを使用してインターネット接続を確認する方法

分類Dev

インターネットデータ速度でAndroidで利用可能なネットワークを確認してください

分類Dev

接続されているWi-Fiネットワークのセキュリティモードを確認してください

分類Dev

Reactコンポーネントのタイプを確認してください

分類Dev

Umbracoサイトの準備ができており、データベースに接続されていることを確認してください

分類Dev

列タイプifステートメントを確認してください

分類Dev

API呼び出しを実行する前に、Observableでネットワーク接続を確認してください

Related 関連記事

  1. 1

    インターネット接続が悪いことを確認してくださいandroidstudio

  2. 2

    API29上でインターネット接続を確認してください

  3. 3

    Android WebView(Cordova)でインターネット接続を確認してください

  4. 4

    インターネット接続の問題を確認してください

  5. 5

    実際のインターネット接続を確認してください

  6. 6

    C#でインターネット接続が利用可能かどうかを確認してください

  7. 7

    インターネット接続の安定性を確認してください

  8. 8

    Alamofireを使用してiOSデバイスでインターネット接続を確認してみてください

  9. 9

    リポジトリ情報のダウンロードに失敗しました。インターネット接続を確認してください

  10. 10

    リポジトリ情報のダウンロードに失敗しました。インターネット接続を確認してください

  11. 11

    VBScriptでネットワーク接続を確認してください

  12. 12

    バックグラウンドスレッドでAndroidNougatのインターネット接続を確認してください

  13. 13

    30分ごとにバックグラウンドサービスでインターネット接続を確認してください

  14. 14

    Firestoreクエリを実行する前にインターネットデータ接続を確認してください

  15. 15

    インターネット接続Xamarinフォームがあるかどうかを常に確認してください

  16. 16

    PPAにアクセスできません...インターネット接続を確認してください

  17. 17

    ログインできませんでした。ネットワーク接続を確認して、もう一度お試しください

  18. 18

    Android、ボタンをクリックしてサーバー接続を確認してください

  19. 19

    AWS CodeBuild –ビルドにはインターネット接続がありません。サブネットネットワーク構成を確認してください

  20. 20

    RaspberryPiがインターネットに接続されているかどうかを確認します

  21. 21

    14.04 Software Updaterに、リポジトリ情報のダウンロードに失敗したと表示されます。インターネット接続を確認してください

  22. 22

    JavaScriptを使用してインターネット接続が接続されていることを確認することはできますか?

  23. 23

    InnoSetupを使用してインターネット接続を確認する方法

  24. 24

    インターネットデータ速度でAndroidで利用可能なネットワークを確認してください

  25. 25

    接続されているWi-Fiネットワークのセキュリティモードを確認してください

  26. 26

    Reactコンポーネントのタイプを確認してください

  27. 27

    Umbracoサイトの準備ができており、データベースに接続されていることを確認してください

  28. 28

    列タイプifステートメントを確認してください

  29. 29

    API呼び出しを実行する前に、Observableでネットワーク接続を確認してください

ホットタグ

アーカイブ