【问题标题】:Obtain Network Notification setting in Android在 Android 中获取网络通知设置
【发布时间】:2012-02-10 15:21:11
【问题描述】:

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

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

【问题讨论】:

    标签: android networking setting


    【解决方案1】:

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

    <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");
       }
     }
    

    }

    【讨论】:

    • 感谢您抽出宝贵时间回复。不幸的是,我并没有那么清楚。我希望从设备中找出用户是否选择接收新网络的通知。基本上,我只是想知道用户是否选中了设置菜单中的复选框,以便在新网络可用时收到通知。如果他们没有选择接收通知,那么要连接到网络,他们必须通过他们的 WiFi 菜单明确地这样做。这有意义吗?
    • @blh83 找到这个了吗?我也在寻找同样的东西。
    猜你喜欢
    • 2015-09-27
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    相关资源
    最近更新 更多