关于android的广播机制里面的网络状态监听

黑煤碳 黑煤碳 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这是书里面的原话
大概意思:就是说我的这个广播器监听网络状态,当网络状态发生变化的时候才会发出哪个值,然后我的广播器才会启动
问题:但是我在使用我做的哪个广播器的app的时候,我一启动app他就会出现Toast,不管我是没网还是有网状态,
app一启动它就会立马执行,但是我的网络并没有发生变化,求大神指点迷津!

package com.example.myborad;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends Activity {
private IntentFilter intentfile;
private NetworkChangeReciver network;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

intentfile=new IntentFilter();
intentfile.addAction("android.net.conn.CONNECTIVITY_CHANGE");
network=new NetworkChangeReciver();
registerReceiver(network, intentfile);

}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
unregisterReceiver(network);
}
class NetworkChangeReciver extends BroadcastReceiver{

@Override

public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub'
ConnectivityManager connectivityManager=(ConnectivityManager)getSystemService(context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo();
if(networkInfo!=null&&networkInfo.isAvailable())
Toast.makeText(context, "当前网络正常!", Toast.LENGTH_SHORT).show();
else
Toast.makeText(context, "当前网络处于断网!", Toast.LENGTH_SHORT).show();
}

}
}
...全文
评论 7
收藏 已收藏
分享
返回顶部
黑煤碳
Android 80,490 成员 91,375 内容