我正在构建一个应用程序来监视wifi更改。这是一个基于MainActivity和WiFiReceiver类的非常简单的应用程序。广播接收器中的Wifi状态更改发送到MainActivit
在MainActivity是如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent
这只是提供了一个UI。
此外,我有WifiReceiver类扩展广播接收器。
public class WifiReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = conMan.getActiveNetworkInfo();
if (netInfo != null && netInfo.getType() == ConnectivityManager.TYPE_WIFI) {
Log.d("WifiReceiver", "Have Wifi Connection");
sendEnteringHomeRequest();
}
else {
Log.d("WifiReceiver", "Don't have Wifi Connection");
sendLeavingHomeRequest();
}
}
这是一个基本的广播接收机,它可以监控wifi。
我想使用sendLeavingHomeRequest和sendEnteringHomeRequest发送消息给MainActivity以显示某些内容或执行其他操作。我有兴趣在活动和广播接收器之间的沟通
任何想法?
做我需要做的清单的东西吗? – Seb
nop,只需使用我的代码。一切顺利(Y) – Darish