Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在应用程序打开时检查方法_Android - Fatal编程技术网

Android 如何在应用程序打开时检查方法

Android 如何在应用程序打开时检查方法,android,Android,例如,我想检查是否永远启用wifi。如果启用,我的按钮将打开,如果关闭,我的按钮将关闭,但当我使用我的方法(我将提供它)时,它只在应用程序创建时检查一次,但我希望它尽可能长时间地检查,直到手机关闭或进程被终止,如果有人能够帮助,那将是非常棒的 Wifi检查方法: public void checkWifi() { WifiManager wifim = (WifiManager) getSystemService(Context.WIFI_SERVICE); ToggleB

例如,我想检查是否永远启用wifi。如果启用,我的按钮将打开,如果关闭,我的按钮将关闭,但当我使用我的方法(我将提供它)时,它只在应用程序创建时检查一次,但我希望它尽可能长时间地检查,直到手机关闭或进程被终止,如果有人能够帮助,那将是非常棒的

Wifi检查方法:

  public void checkWifi() {

    WifiManager wifim = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    ToggleButton wifi=(ToggleButton)findViewById(R.id.wifibutton);

    if (wifim.getWifiState()==(WifiManager.WIFI_STATE_ENABLED)) {

        wifi.setChecked(true);

    } else {

...

}

在创建时检查wifi的状态,并注册广播接收器以收听更改,如果wifi关闭,则更改您的状态

private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            // Handle receiver

            ConnectivityManager mConnectivity;
            mConnectivity = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

            NetworkInfo info = mConnectivity.getActiveNetworkInfo();
            if (info == null || !mConnectivity.getBackgroundDataSetting()) {
                //CHANGE YOUR BUTTON HERE BECAUSE THERE IS NO NETWORK AT ALL
                return;
            } else {
                int netType = info.getType();
                int netSubtype = info.getSubtype();
                if (netType == ConnectivityManager.TYPE_WIFI) {
                    //CHANGE YOUR BUTTON HERE BECAUSE THERE IS WIFI

                } else {
                    //CHANGE YOUR BUTTON HERE BECAUSE THERE IS NETWORK BUT ITS NOT WIFI
                }
            }

        }
    };

在创建时检查wifi的状态,并注册广播接收器以收听更改,如果wifi关闭,则更改您的状态

private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            // Handle receiver

            ConnectivityManager mConnectivity;
            mConnectivity = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

            NetworkInfo info = mConnectivity.getActiveNetworkInfo();
            if (info == null || !mConnectivity.getBackgroundDataSetting()) {
                //CHANGE YOUR BUTTON HERE BECAUSE THERE IS NO NETWORK AT ALL
                return;
            } else {
                int netType = info.getType();
                int netSubtype = info.getSubtype();
                if (netType == ConnectivityManager.TYPE_WIFI) {
                    //CHANGE YOUR BUTTON HERE BECAUSE THERE IS WIFI

                } else {
                    //CHANGE YOUR BUTTON HERE BECAUSE THERE IS NETWORK BUT ITS NOT WIFI
                }
            }

        }
    };

Android应用程序永远不会“关闭”,就像Web应用程序“关闭”一样。请将您的问题重新定义为符合体系结构的问题。好的,我将编辑该问题。Android应用程序永远不会“关闭”,就像Web应用程序“关闭”一样。请将您的问题重新定义为符合体系结构的问题。好的,我将编辑这个问题。我如何使用这个想法来收听和广播,正如您所看到的,我对广播公司和接收者都是新手。我可以使用这个想法来收听和广播吗?正如您所看到的,我对广播公司和接收者都是新手