当前位置: 首页 > 知识库问答 >
问题:

如何使android中的发射器侦听器在互联网关闭和重新打开时工作?[副本]

阴飞星
2023-03-14

我已经在我的应用程序中实现了聊天设置。聊天室使用套接字工作。木卫一。我正在努力解决当互联网关闭和重新打开时发射器侦听器正常工作的问题。目前,套接字可以在internet上重新连接,但一旦重新连接internet,侦听器就无法工作。请帮帮我!

共有2个答案

傅朗
2023-03-14

您可以监听连接更改并再次执行连接?

在您的舱单中:

<receiver android:name=".ConnectivityReceiver"
        android:label="NetworkConnection">
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
        </intent-filter>
    </receiver>

而ConnectivityReceiver代码类似于:

public class ConnectivityReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();

    if ( activeNetInfo != null )
    {
         //do your reconection if it's lost
    }

}
别烨熠
2023-03-14

利用广播接收机

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

在应用程序中添加接收器,并在收到回拨后执行操作

public class NetworkStateReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
     Log.d("app","Network connectivity change");
     if(intent.getExtras()!=null) {
        NetworkInfo ni=(NetworkInfo) intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO);
        if(ni!=null && ni.getState()==NetworkInfo.State.CONNECTED) {
            Log.i("app","Network "+ni.getTypeName()+" connected");
        } else if(intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY,Boolean.FALSE)) {
            Log.d("app","There's no network connectivity");
        }
   }
}

检查这里

 类似资料:
  • 我有一个,其中有5个s。当用户单击第一个时,软键盘打开,在其中输入一些值。当软键盘打开时,当用户单击第一个时,以及当软键盘从按下后退按钮的相同关闭时,我想将其他一些

  • 我想实现一个切换按钮,Android。小装置。开关(可从API v.14获得)。 但我不知道如何为按钮添加事件侦听器。它应该是一个“onClick”监听器吗?我怎么知道它是否被切换为“开”?

  • 问题内容: 我正在开发一个Android应用程序,该应用程序将继续保持与Internet的连接。如果互联网是陶氏的,则应向用户提供适当的消息。 有没有像Internet Listener这样的东西?或如何实施此事件,以便每当没有Internet连接时都应发出警报。 问题答案: 为此创建一个广播接收器,并将其注册到清单文件中。 首先创建一个新类并扩展BroadcastReceiver。 将此代码放在

  • 我有显示iBeacon信息的文本视图(例如uuid、major、minor等)和一个用于启动/停止扫描的检测/停止按钮。当我在iBeacon关闭的情况下按下按钮开始扫描时,应用程序没有显示预期的内容。但是,当我在iBeacon打开时开始扫描,然后在扫描时关闭iBeacon时,应用程序仍会显示信息,就好像它仍在检测iBeacon一样。当应用程序在信标打开的情况下扫描BLE时,它会给出 D/Bluet

  • 它运行良好,突然它开始显示我“连接没有互联网”我没有做任何改变我的路由器。同一台笔记本电脑。 这是我目前所尝试的: -检查更新 -重启/关机笔记本电脑 -删除模拟器并添加新模拟器 -和 -从中删除文件夹 -模拟器扩展控件->设置->代理->手动代理配置+主机名 谢谢 编辑:我看过几个类似的问题,到目前为止还没有解决。我仍然使用上面的命令来打开仿真程序,并强制它使用8.8.8.8,这样它就可以有一个

  • 我有一个简单的HibernateInterceptor,基本上我想自动设置几个字段。此拦截器(如下所示)扩展了EmptyInterceptor: 我使用spring配置文件进行布线,如下所示: 但是,永远无法到达拦截器。有人有什么线索吗?我还尝试将以下内容添加到事务管理器bean定义中,如下所示: