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

时间:2014-08-22 05:50:59

标签: android broadcastreceiver android-service

我该怎么做?我希望服务运行,当只有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连接激活而不是更改后,后台服务正在运行?

1 个答案:

答案 0 :(得分:1)

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

希望这会对你有所帮助。