0

有谁知道是否有办法以编程方式获取 Android 设备上的网络通知设置?此设置允许在网络可用时通知(或不通知)用户。我只需要检索当前值,而不是设置它。

我检查了 ConnectivityManager 并仔细阅读了 WifiInfo 之类的对象,但没有看到任何看起来太有用的东西。感谢您的任何指导。

4

1 回答 1

0

您应该通过将其添加到清单中来制作一个广播接收器,该接收器将在新网络可用时触发。

<receiver
    android:name=".receivers.NetworkChangeReceiver"
    android:label="NetworkChangeReceiver">
    <intent-filter>
        <action
            android:name="android.net.conn.CONNECTIVITY_CHANGE" />
        <action
            android:name="android.net.wifi.WIFI_STATE_CHANGED" />
    </intent-filter>
</receiver>

然后在您的接收器中,您可以检查是否有连接。

public class NetworkChangeReceiver extends BroadcastReceiver{

   @Override
   public void onReceive(Context context, Intent intent) {
   ConnectivityManager cm=(ConnectivityManager)  context.getSystemService(Context.CONNECTIVITY_SERVICE);
    if(cm.getActiveNetworkInfo()!=null&&cm.getActiveNetworkInfo().isConnected()){
       //Send a broadcast to your service or activity that you have network or notifiy you have a network 
       //...
   }else{
       LOG.i("Network UNAVAILABLE");
   }
 }

}

于 2012-01-15T03:05:30.640 回答