场景是,我正在开发一个使用互联网的Android应用程序 . 这是一个商业应用程序 . 该公司将为所有员工提供Android手机 . 现在他们的要求是,他们不希望员工通过其他方式使用互联网,而不是需要互联网访问的商业应用程序 .
总之,我需要开发一个禁用互联网(wifi,移动数据等)的应用程序,并仅在用户使用此应用程序时允许互联网 .
这可能吗?怎么做到这一点?一项始终检查网络连接的服务?
任何帮助表示赞赏 .
UPDATE:
我使用BroadcastReciever,它检测连接状态并禁用Wifi . 我如何检测移动数据的连接状态,我的意思是什么是检测移动数据连接的意图过滤器操作,然后相应地禁用它,我试过
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
1 回答
这是不可取的,但如果你仍然想这样做,
在onCreate中使用Internt编写此代码的每个活动,
并在onPause的那个活动写,
这是为GPRS / EDGE / 3G的WIFI做的,您可能需要以相同的方式启用禁用飞行模式 .
UPDATE TO DO IT FROM EVERYWHERE
拿一个
SharedPreference
并在每次进行任何活动in onCreate()
时放一个boolean isAppRunning = true
,并在每个活动的onDestroy()
方法中每次都放置False
.现在, Create one broadcast receiver 监听
NETWORK_STATE_CHANGED
动作并在接收者的onReceive()
中检查SharedPreference值,如果SP布尔变量为True,则让WIFI变为enabaled,如果它为false则表示您的应用程序未运行,然后再次关闭WIFI .