5

场景是,我正在开发一个使用互联网的 android 应用程序。这是一个商业应用程序。公司将为所有员工提供安卓手机。现在他们的要求是他们不希望员工通过其他方式使用互联网,而不是通过他们的业务应用程序,这需要互联网访问。

简而言之,我需要开发一个禁用互联网(wifi、移动数据等)并仅在用户使用此应用程序时才允许互联网的应用程序。

这可能吗?如何做到这一点?一项将始终检查网络连接的服务?

任何帮助表示赞赏。

更新:

我正在使用 BroadcastReciever,它检测连接状态并禁用 Wifi。我如何检测移动数据的连接状态,我的意思是检测移动数据连接然后相应地禁用它的意图过滤器操作是什么,我尝试过

<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>

4

1 回答 1

0

这是不可取的,但如果你仍然想这样做,

在使用 Internt 的每个活动的 onCreate 中编写此代码,

WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);

并在该活动写入的 onPause 中,

WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);

这是为 GPRS/EDGE/3G 的 WIFI 做的,您可能必须以同样的方式启用禁用飞行模式。

随时随地更新

每次进行任何活动时都拿一个SharedPreference放一个,每次都放在每个活动的方法中。boolean isAppRunning = true in onCreate()False onDestroy()

现在,创建一个监听动作的广播接收器NETWORK_STATE_CHANGED并在该接收器onReceive() 检查 SharedPreference 值

如果 SP 布尔变量为 True,则让 WIFI 启用,如果为 false,则表示您的应用未运行,然后再次关闭 WIFI。

于 2012-06-09T10:00:01.893 回答