Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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上只有wifi连接处于活动状态时,如何运行服务?_Android_Broadcastreceiver_Android Service - Fatal编程技术网

当android上只有wifi连接处于活动状态时,如何运行服务?

当android上只有wifi连接处于活动状态时,如何运行服务?,android,broadcastreceiver,android-service,Android,Broadcastreceiver,Android Service,我该怎么做?当只有wifi处于活动状态时,当未进行更改时,我希望服务运行。 当应用程序首先打开时,由于没有更改wifi连接,因此应用程序无法工作。 我希望我能告诉你。 BroadcastReceiver类中的onReceive(..) public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub ConnectivityMan

我该怎么做?当只有wifi处于活动状态时,当未进行更改时,我希望服务运行。

当应用程序首先打开时,由于没有更改wifi连接,因此应用程序无法工作。
我希望我能告诉你。

BroadcastReceiver类中的onReceive(..)

        public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub

        ConnectivityManager conMan = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = conMan.getActiveNetworkInfo();

        if (netInfo.isConnected()) {

            Intent ServiceIntent = new Intent(context, BackService.class);
            context.startService(ServiceIntent);

        } else {
            Intent ServiceIntent = new Intent(context, BackService.class);
            context.stopService(ServiceIntent);
        }
}
AndroidManifest.xml

        <receiver android:name=".MyStartServiceReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
        </intent-filter>
    </receiver>


WiFi连接已更改为可以启动多个服务。因此这是一个问题。当WiFi连接处于活动状态而未更改时,如何启动后台服务?

您可以在应用程序启动时检查设备的连接类型。看看这个


希望这会对您有所帮助。

不起作用。服务返回开始\u不粘;我不在MainActivity或其他活动类中启动服务。我只在连接wifi的情况下在BroadcastReceiver中启动服务。我如何才能做到这一点?