CHANGE广播接收器不火的VPN连接和断开

CHANGE广播接收器不火的VPN连接和断开

本文介绍了在软糖android.net.conn.CONNECTIVITY_CHANGE广播接收器不火的VPN连接和断开的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是明显的部分。

  <receiver
            android:name="my.com.app.ConnectivityModifiedReceiver"
            android:label="NetworkConnection" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>

这是java的code

This is java code

public class my.com.app.ConnectivityModifiedReceiver extends BroadcastReceiver {


    @Override
    public void onReceive(Context context, Intent intent) {

        context.sendBroadcast(new Intent("ConnectivityModified"));

    }

}

ConnectivityModifiedReceiver 的会根据网络连接发送意图change.In我的情况的 VPN连接和断开

The ConnectivityModifiedReceiver will send intents according to network connectivity change.In my case VPN connection and disconnection.

我得到的棒棒糖但不是在软糖的意图。

I am getting intents in Lollipop But not in JellyBean.

plz帮助

推荐答案

到目前为止,我发现

在棒棒堂

android.net.conn.CONNECTIVITY_CHANGE 的时,无论VPN连接或断开广播只有被解雇了。

android.net.conn.CONNECTIVITY_CHANGE broadcast is fired Only when either VPN is connected or disconnected.

所以,你可以使用下面的code段与你有pre-棒棒糖设备的逻辑一起。

So you can use the following code snippet along with the logic you have for pre-lollipop devices.

@Override
public void onReceive(Context context, Intent intent) {

   Bundle bundle = intent.getExtras();

   String KeyNI="networkInfo";

   android.net.NetworkInfo bundleNetworkInfo=(android.net.NetworkInfo)bundle.get(KeyNI);


   if(!bundleNetworkInfo.getTypeName().toString().equalsIgnoreCase("VPN"))
   {
      context.sendBroadcast(new Intent("ConnectivityModified"));
   }

}

希望这有助于。

这篇关于在软糖android.net.conn.CONNECTIVITY_CHANGE广播接收器不火的VPN连接和断开的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-28 01:40