V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Features
V2EX  ›  Android

初学 Android,请问下这段监听网络变化的代码在 Android 11 如何变得有效?

  •  
  •   Features · 2021-11-28 14:32:36 +08:00 · 3980 次点击
    这是一个创建于 851 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是在教程看到的,但是我在 Android 11 上发现不起作用了,没有报错,但是也没有达到预期的效果

    public class MainActivity extends AppCompatActivity {
        NetReceiver netReceiver;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            netReceiver = new NetReceiver();
            IntentFilter intentFilter = new IntentFilter();
            intentFilter.addAction("android.net.CONNECTIVITY_CHANGE");
            registerReceiver(netReceiver,intentFilter);
    
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            unregisterReceiver(netReceiver);
        }
    
        public class NetReceiver extends BroadcastReceiver{
            @Override
            public void onReceive(Context context, Intent intent) {
                Toast.makeText(context,"网络发生变化",Toast.LENGTH_LONG).show();
                 Log.e("mylog","网络发生变化");
            }
        }
    }
    

    我尝试在 AndroidManifest.xml 中添加权限,也是没有效果

    
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
    
    
    PPTing
        1
    PPTing  
       2021-11-28 15:23:03 +08:00   ❤️ 1
    intentFilter.addAction("android.net.CONNECTIVITY_CHANGE");
    addAction() 方法里传入的应该是「 android.net.ConnectivityManager#CONNECTIVITY_ACTION 」对应的常量「"android.net.conn.CONNECTIVITY_CHANGE"」
    Features
        2
    Features  
    OP
       2021-11-28 16:12:07 +08:00
    @PPTing 确实可以了,非常感谢!!
    是我粗心大意了😂😂😂😂
    stardust21
        3
    stardust21  
       2021-11-28 22:10:23 +08:00
    新版本推荐使用 ConnectivityManager 来监听,官方文档: https://developer.android.google.cn/training/basics/network-ops/reading-network-state
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3442 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:11 · PVG 19:11 · LAX 04:11 · JFK 07:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.