2017-09-27 13 views
1

私はアンドロイドアプリを作成しています。インターネット接続が利用できないときにダイアログを表示する必要があります。すべてのアクティビティでネットワーク接続チェックを書く必要はありません。どのようにこれをアンドロイドでサービスを使って実装するのですか?サービスを使ってアンドロイドでインターネット接続が利用できないときにダイアログを表示する方法

+1

ここでその質問への答えへのリンクです:https://stackoverflow.com/a/22311205/1008011 – chornge

答えて

1

として怒鳴る

あなたがチェックしたい、このクラスを呼び出したよりCheckConnectionをnameedクラスを作成しますが、あなた

コールクラス以上

コード

public class ConnectionCheck { 

    public boolean isNetworkConnected(Context context) { 
     ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo ni = cm.getActiveNetworkInfo(); 
     if (ni == null) { 
      // There are no active networks. 
      return false; 
     } else 
      return true; 
    } 

    public AlertDialog.Builder showconnectiondialog(Context context) { 

     final AlertDialog.Builder builder = new AlertDialog.Builder(context) 
       .setIcon(R.mipmap.ic_launcher) 
       .setTitle("Error!") 
       .setCancelable(false) 
       .setMessage("No Internet Connection.") 
       .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
        } 
       }); 

     return builder; 
    } 
} 
利用可能かどうか、インターネット接続でありますインターネット接続を確認したい:上記のように

ConnectionCheck connectionCheck = new ConnectionCheck(); 
     if (connectionCheck.isNetworkConnected(this)){// or your context pass here 
      //operation you want if connection available 
     }else { 
      connectionCheck.showconnectiondialog(this); //context pass here 
     } 

そして、あなたはManifestActivity.xmlにしてネットワークの状態やインターネットにアクセスするためのアクセス許可を追加する必要があります。

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"> 
+0

Iドンすべてのアクティビティでこのコードを追加する必要はありません。私は一度コードを書いて、突然変化したらインターネット接続をチェックする必要があります。 – Shrirambaabu

+0

どのようにインターネットの状態を監視していますか? – CoXier

+0

Ok Wait私はあなたに戻ってきます –

関連する問題