Android判断网络状态对音频静音的实现方法

  

在实际应用中,我们不希望在教室网络,打开游戏就显示较大的声音,进而影响上课质量,因此,就需要让程序变得智能,让应用程序可以根据使用者当前网络状态,自动进行静音等操作。

  

本次内容分为两部分:1。识别网络环境2。实现应用自动静音。

  

<>强自动静音

     /* *   *实现静音功能   */私人空间silentSwitchOn () {   AudioManager AudioManager=(AudioManager) getSystemService (Context.AUDIO_SERVICE);   如果(audioManager !=null) {   audioManager.setRingerMode (AudioManager.RINGER_MODE_SILENT);//静音模式   audioManager.setStreamVolume (AudioManager。STREAM_MUSIC 0 AudioManager.FLAG_PLAY_SOUND);//媒体音量设置为0(静音)   }   }      

其中AudioManager.STREAM_MUSIC代表媒体音量,也可以替换成其他的类型,获取其他类型音量。

  

<>强监听音量键被按下

  

在活动重写onKeyDown方法

        公共布尔>   & lt; uses-permission android: name=" android.permission。ACCESS_NETWORK_STATE "/祝辞      

1。判断是否有网络连接

        公共静态布尔isNetworkConnected(上下文语境){如果(上下文!=null) {ConnectivityManager mConnectivityManager=(ConnectivityManager)上下文.getSystemService (Context.CONNECTIVITY_SERVICE);NetworkInfo mNetworkInfo=mConnectivityManager.getActiveNetworkInfo ();如果(mNetworkInfo !=null){返回mNetworkInfo.isAvailable ();}}返回false;}      

有网时返回真,没网时返回错误的。

  

1。判断WIFI网络是否可用

        公共静态布尔isWifiConnected(上下文语境){如果(上下文!=null) {ConnectivityManager mConnectivityManager=(ConnectivityManager)上下文.getSystemService (Context.CONNECTIVITY_SERVICE);NetworkInfo mWiFiNetworkInfo=mConnectivityManager .getNetworkInfo (ConnectivityManager.TYPE_WIFI);如果(mWiFiNetworkInfo !=null){返回mWiFiNetworkInfo.isAvailable ();}}返回false;}      

是WIFI网络返回真,不是WIFI返回错误的。

  

1。判断数据流量是否可用

        公共静态int getConnectedType(上下文语境){如果(上下文!=null) {ConnectivityManager mConnectivityManager=(ConnectivityManager)上下文.getSystemService (Context.CONNECTIVITY_SERVICE);NetworkInfo mNetworkInfo=mConnectivityManager.getActiveNetworkInfo ();如果(mNetworkInfo !=零,,mNetworkInfo.isAvailable()){返回mNetworkInfo.getType ();}}返回1;}      

是数据流量时返回真,不是返回错误的。

  

获取当前网络连接的类型信息

        公共静态int getConnectedType(上下文语境){如果(上下文!=null) {ConnectivityManager mConnectivityManager=(ConnectivityManager)上下文.getSystemService (Context.CONNECTIVITY_SERVICE);NetworkInfo mNetworkInfo=mConnectivityManager.getActiveNetworkInfo ();如果(mNetworkInfo !=零,,mNetworkInfo.isAvailable()){返回mNetworkInfo.getType ();}}返回1;}      

获取当前的网络状态

  

没有网络:0 WIFI网络:1 3 g网络:2 2 g网络:3

        公共静态int getAPNType(上下文语境){int netType=0;ConnectivityManager connMgr=(ConnectivityManager)上下文.getSystemService (Context.CONNECTIVITY_SERVICE);NetworkInfo NetworkInfo=connMgr.getActiveNetworkInfo ();如果(networkInfo==null){返回netType;}int nType=networkInfo.getType ();如果(nType==ConnectivityManager.TYPE_WIFI) {netType=1;//无线}其他如果(nType==ConnectivityManager.TYPE_MOBILE) {int nSubType=networkInfo.getSubtype ();TelephonyManager mTelephony=(TelephonyManager)上下文.getSystemService (Context.TELEPHONY_SERVICE);如果(nSubType==TelephonyManager。NETWORK_TYPE_UMTS,,! mTelephony.isNetworkRoaming ()) {netType=2;//3 g}其他{netType=3;//2 g}}返回netType;}      

1。判断是否是教学点网络

     /* *   *判断是否是教学点网络,如果是教学点网络,默认静音   */私人空间enablePlay () {   字符串wifiNameSp=(字符串)CommonUtils.getMySP(这个(上下文),“wi - fi名称(字符串)”“wifiName”字符串。类”、“);   字符串wifiName=CommonUtils.getConnectWifiSsid ();   如果(! TextUtils.isEmpty (wifiNameSp),,! TextUtils.isEmpty (wifiName)   ,,CommonUtils。isWifiRequirements (wifiName wifiNameSp,真的)){//默认静音   silentSwitchOn ();//调用开始的静音方法   }   }      

  

以上所述是小编给大家介绍的Android判断网络状态对音频静音的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

Android判断网络状态对音频静音的实现方法