我正在开发一个
Android聊天应用程序.启动时,应用程序启动服务.该服务连接到聊天服务器.如果由于某种原因连接断开,用户可以单击按钮并调用reconnect()函数.
该应用程序在移动设备上运行.该应用程序通过Wi-Fi连接到Internet.如果使用手机行走的用户离开Wi-Fi覆盖区域,则连接断开.我希望我的应用程序在这种情况下自动尝试重新连接到Internet.在您看来,最好的方法是什么?
解决方法
添加到清单:
... <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> ...
接收器:
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; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。