Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 6和Android 7在应用程序启动时的网络连接检查不同_Android_Android Networking_Android Connectivitymanager - Fatal编程技术网

Android 6和Android 7在应用程序启动时的网络连接检查不同

Android 6和Android 7在应用程序启动时的网络连接检查不同,android,android-networking,android-connectivitymanager,Android,Android Networking,Android Connectivitymanager,我的应用程序是一个信息亭模式的应用程序,除非用户输入代码,否则他将无法访问任何Android应用程序。因此,当选项卡启动时,需要在服务中进行一些设置。 我正在使用下面的代码检查网络连接。在我的工作中,此代码被重用为实用程序类的一部分。如果网络可用,我需要执行命令,否则必须触发事件 连接管理器连接管理器 =ConnectivityManager getSystemServiceContext.CONNECTIVITY\u服务; NetworkInfo activeNetworkInfo=conn

我的应用程序是一个信息亭模式的应用程序,除非用户输入代码,否则他将无法访问任何Android应用程序。因此,当选项卡启动时,需要在服务中进行一些设置。 我正在使用下面的代码检查网络连接。在我的工作中,此代码被重用为实用程序类的一部分。如果网络可用,我需要执行命令,否则必须触发事件

连接管理器连接管理器 =ConnectivityManager getSystemServiceContext.CONNECTIVITY\u服务; NetworkInfo activeNetworkInfo=connectivityManager.getActiveNetworkInfo;
返回activeNetworkInfo!=null&&activeNetworkInfo.isConnected 要正确等待网络连接,请执行以下操作:

使用引导接收器在引导时启动您的信息亭活动。 当应用程序启动时,在应用程序中以编程方式在活动中注册接收器。不要在清单中注册它。不推荐使用连接操作的清单注册接收者。如果您的目标是API 22+,则可以将ConnectivityManager.requestNetwork与回调一起使用,而不是此处未描述的广播。 registerReceiver的返回值是一个意图,即网络连接的当前状态\u操作是粘性广播。行动起来。如果intent具有额外的\u NO \u连接,则没有网络连接,您的应用程序必须等待接收器触发,然后再次检查连接。 请记住,连接可以随时上下移动,因此接收器需要在UI中触发相应的更改。
不同的设备和不同版本的Android以及不同的网络类型(包括不同的SIM卡)会导致不同的网络接口连接延迟。它肯定与您的应用程序启动或已启动等无关。当您调用getActiveNetworkInfo时,它只是一个存根,用于向系统服务器执行IPC以获取实际值。您的流程中没有逻辑运行或状态保持。

如果问题与您的应用程序发布有关,我会非常非常惊讶。对connectivity manager的调用将调用另一个进程以获得结果。谁叫它并不重要。我怀疑你的问题只是你正在测试的特定设备需要更长的时间才能连接网络。感谢@JeffreyBlattman,我正在尝试的设备与三星Tab E完全相同,除了Android OS 6和7。我建议在宣布它为6 v之前,先获取一个以上的样本。第7期。您是如何确定该设备不仅仅需要更长的时间才能连接到网络的?