在我的应用程序中,我希望在网络状态更改时通知MainActivity。这意味着,我希望我的应用程序知道何时没有wifi连接以及何时有wifi连接。
这段代码很简单。我对BroadcastReceiver有疑问。 我创建了一个扩展BroadcastReceiver的类。这个班级可以成功查看何时有wifi,什么时候没有。
我的问题是,如何将此信息传递给MainActivity,以便我的应用可以在检测到Wi-Fi时自动发送其录音?
由于
答案 0 :(得分:0)
我不想在我的MainActivity中创建一个BroadcastReceiver,所以我创建了一个BroadcastReceiver和一个Intent Service,我可以在那里做我想做的事。
广播接收器:
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getActiveNetworkInfo();
try{
wifi = mWifi.isConnected();
}
catch(Exception e){
Log.d("WifiReceiver", "wifiteste -> No connection");
}
if (wifi) {
Log.d("WifiReceiver", "wifiteste - Wifi Connected");
Intent background = new Intent(context, BackService.class);
background.putExtra("wifi",true);
context.startService(background);
}
}
IntentService:
@Override
protected void onHandleIntent(Intent intent) {
Bundle b = new Bundle();
b = intent.getExtras();
boolean status = b.getBoolean("wifi");
if (!status){
Log.d("BackS", "TESTE ->" + "no wifi");
}
else {
Log.d("BackS", "wifiteste - wifi available information received");
// Do what you want
}
}