0

我想在我的 wifi 开启时开始我的活动,以便在 WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION 时调用我的活动。它将与 2.3(姜饼)三星水龙头一起正常工作,但相同的程序在 3.1(蜂窝)三星水龙头中无法正常工作。为什么会在这里发生这种类型的问题是我的孔代码:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
import android.util.Log;

/**
 * A BroadcastReceiver that listens for updates for the
 * ExampleAppWidgetProvider. This BroadcastReceiver starts off disabled, and we
 * only enable it when there is a widget instance created, in order to only
 * receive notifications when we need them.
 */
public class WIFIBroadcastReceiver extends BroadcastReceiver {

    public static String packageName = "com.example.wifi";

    @Override
    public void onReceive(Context context, Intent intent) {
        final String action = intent.getAction();

        if (action.equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION)) {
            if (intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED,
                    false)) {
                Log.d(packageName, "WIFI Connected");
                if (context != null) {

                    Intent ssIntent = new Intent(context,
                            com.example.wifi.Activity.class);
                    ssIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(ssIntent);
                }
            } else {
                Log.d(packageName, "WIFI Connection was Lost");
            }
        }
    }
}
4

2 回答 2

2

我不确定你到底是什么问题,但听起来它与你的 ROM 有关,它是否已植根等等。

另一种可能性是您正在使用的 API。HC 是否需要与 GB 不同的版本?

我不认为这是您的代码,因此如果您无法弄清楚,请尝试提供有关标签和电话之间差异的信息(除了显而易见的)。

只是一种预感,所以如果它偏离了基础,我很抱歉。

祝你好运!

于 2012-01-30T06:28:02.770 回答
0

不确定您面临的问题。谦虚地建议尝试替代方案:

您可以注册 WIFI_STATE_CHANGED_ACTION 意图,然后在 onReceive() 中调用 getConnectionInfo()。NetworkInfo.DetailedState 类应提供(更详细的)关于 IP 地址是否可用的信息,然后您的活动可以开始。

于 2012-01-30T07:26:05.757 回答