2016-05-02 11 views
0

同じネットワーク上のデバイスを制御するAndroidアプリケーションを構築しています(詳細は関係ありません)。接続はTCPを介してソケットで設定されます。サーバから切断された場合にダイアログを表示するAndroidアプリケーション

ここで私がやろうとしているものです:(!ダイアログがすでに構築されている)接続の場合はアプリが接続するためのユーザーを求めて起動したときに

  • は、ダイアログを表示
  • は活動を中断します別のダイアログを表示します。

このアプリケーションには、MainActivityと、異なるタブを管理するフラグメントレイアウトが組み込まれています。 私はAndroidプログラミングにはまだまだ慣れていないことを覚えておいてください。私は大抵の場合、これを修正する代わりに、コードを書く最良の方法を探しています:

今のところ、接続に関しては、 onCreate()メソッドの "Connection"オブジェクト。ソケットを作成してサーバーにバインドするために呼び出されると、 "Connection"自体がAsynctaskを実行します。

ありがとうございました!

答えて

0

あなたはこの質問回答確認することができます。

How to check if TCP socket is connected in android app

を、あなたはそれがasyncTaskを使用して、すべての{1-5}秒をチェックすることができ、その接続されていない場合、それは

0

新しいダイアログをスローしますインターネット接続を確認するコードを次のように使用することができます。

ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 
    if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || 
      connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) { 
    //write the code which established connection with server 
}else{ 
    // generate a alert 
} 
+0

ありがとうございました! これは、デバイスがインターネットに接続されているかどうかを確認するだけではありませんか? – Fluffy

+0

もちろん、インターネットとの接続性のみをチェックします。 –

+0

デバイス自体はインターネットに接続する必要はありません。私は同じネットワーク上のサーバーに接続しますが、インターネット接続はまったくありません。私はちょうどソケットがまだサーバーに適切にバインドされている場合は定期的にチェックする必要があります – Fluffy

関連する問題