2012-03-05 50 views
7

Tôi đang phát triển một ứng dụng trò chuyện Android. Khi khởi động ứng dụng sẽ khởi chạy một dịch vụ. Dịch vụ kết nối với máy chủ trò chuyện. Nếu vì một lý do nào đó kết nối bị ngắt, người dùng có thể nhấp vào một nút và chức năng kết nối lại() sẽ được gọi.Tự động kết nối lại với Internet

Ứng dụng chạy trên thiết bị di động. Ứng dụng này kết nối với Internet qua Wi-Fi. Nếu người dùng, đi bộ bằng điện thoại của anh ấy, ra khỏi vùng phủ sóng Wi-Fi, kết nối sẽ bị ngắt. Tôi muốn ứng dụng của tôi tự động thử kết nối lại với Internet trong những trường hợp như vậy. Cách tốt nhất để làm điều này theo ý kiến ​​của bạn là gì?

Trả lời

6

Thêm vào Manifest:

... 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 
<uses-permission android:name="android.permission.INTERNET">   </uses-permission> 
... 
    <receiver android:name=".Internet" android:enabled="true"> 
     <intent-filter> 
      <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
     </intent-filter> 
    </receiver> 
... 

Receiver:

package YourPackage; 
    import android.content.BroadcastReceiver; 
    import android.content.Context; 
    import android.content.Intent; 

    public class Internet extends BroadcastReceiver 
    {  
     @Override 
     public void onReceive(final Context context, Intent intent) 
     { 
      if (intent.getAction().equalsIgnoreCase("android.net.conn.CONNECTIVITY_CHANGE")) 
      { 
       if isInternet(context) 
       { 
        // Your Code 
       } 
      }  
     } 

     public boolean isInternet(Context context) 
     { 
      ConnectivityManager IM = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
      NetworkInfo activeNetworkInfo = IM.getActiveNetworkInfo(); 
      return activeNetworkInfo != null; 
     }  
    } 
+0

là phát sóng gửi tự động bởi môi trường Android? – mneri

+0

Có. Hệ thống sẽ gửi phát sóng khi trạng thái mạng thay đổi. – XXX

+0

Điều đó hoạt động hoàn hảo! Cảm ơn bạn! – mneri

Các vấn đề liên quan