【问题标题】:Android:The if statement of wifi scan result is not being entered?Android:wifi扫描结果的if语句没有被输入?
【发布时间】:2015-04-10 13:40:09
【问题描述】:

我在 MainActivity 中构建了 BroadcastReceiver 来捕获系统广播(互联网连接和 wifi 扫描结果)。正在捕获互联网连接广播,但我在捕获 wifi 扫描结果的广播时遇到了问题。没有错误被抛出。我不知道我应该添加什么来让它工作。感谢您的帮助。

主活动:

public class MainActivity extends ActionBarActivity {
	BroadcastReceiverListener receiver;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		receiver = new BroadcastReceiverListener();

	}

	private class BroadcastReceiverListener extends BroadcastReceiver {
		@Override
		public void onReceive(Context context, Intent intent) {
			//This if statement is being arrived
			if (intent.getAction().equals(
					android.net.wifi.WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
				     //This code  works without BroadcastReceiver.

			}

			else if (intent.getAction().equals(
					android.net.ConnectivityManager.CONNECTIVITY_ACTION)) {
				// I am getting here broadcast for the internet connection

			}
		}
	};

	protected void onResume() {

		IntentFilter wifi = new IntentFilter();
		wifi.addAction(android.net.wifi.WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
		registerReceiver(receiver, wifi);

		IntentFilter conn = new IntentFilter();
		conn.addAction(android.net.ConnectivityManager.CONNECTIVITY_ACTION);
		registerReceiver(receiver, conn);

		super.onResume();
	}

	@Override
	protected void onDestroy() {
		unregisterReceiver(receiver);
		super.onDestroy();
	}

}

【问题讨论】:

    标签: android broadcastreceiver


    【解决方案1】:

    不需要创建两个IntentFilter,创建一个并使用addAction()添加多个动作:

    IntentFilter wifi = new IntentFilter();
    wifi.addAction(android.net.wifi.WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
    wifi.addAction(android.net.ConnectivityManager.CONNECTIVITY_ACTION);
    registerReceiver(receiver, wifi);
    

    看这里:

    Android - Registering a broadcast receiver for two intents?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      相关资源
      最近更新 更多