ブロードキャスト レシーバの OnReceive() でトースト メッセージを制限する際に奇妙な問題が発生しました
wifiとbluetoothが有効/無効になっているときにトーストを表示するためのコードを書きました
ただし、wifiを有効/無効にすると、Bluetoothのトーストも表示され、その逆も同様です。つまり、Bluetoothとwifiを有効/無効にすると、4つのトーストメッセージすべてが1つずつ表示されます
私がやりたいことは、wifiがオフ/オンのときにトーストを1つ表示したいことと、Bluetoothの場合も個別に表示したいことです
お気に入り
if WIFI is on - "wifi enabled"
if WIFI is off - "wifi disabled"
If bluetooth is on - "Bluetooth enabled"
If bluetooth is off - "Bluetooth disabled"
すべてではなく、一度に 1 つのトーストのみ
この問題を回避するにはどうすればよいですか?
これが私のコードです
public class MyService extends BroadcastReceiver {
private WifiManager wifiManager;
@Override
public void onReceive(Context context, Intent arg1) {
// TODO Auto-generated method stub
wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if(wifiManager.isWifiEnabled()){
Toast.makeText(context.getApplicationContext(), "WIFI Enabled", Toast.LENGTH_LONG).show();
}else {
Toast.makeText(context.getApplicationContext(), "WIFI Disabled", Toast.LENGTH_LONG).show();
}
if(adapter.isEnabled()){
Toast.makeText(context.getApplicationContext(), "Bluetooth Enabled", Toast.LENGTH_LONG).show();
}else {
Toast.makeText(context.getApplicationContext(), " Bluetooth Disabled", Toast.LENGTH_LONG).show();
}
}