我想在我的wifi打开时启动我的活动,以便在WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION时调用我的活动。它将与2.3(姜饼)三星水龙头一起工作,但同样的程序将不适用于3.1(蜂窝)三星tap.guide为什么这样的问题将发生在这里是我的孔代码:
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");
}
}
}
}
答案 0 :(得分:2)
我确定你究竟发出的是什么,但听起来它与你的ROM有关,如果它的根源与否等等。
另一种可能性是您正在使用的API。 HC是否需要与GB不同的版本?
我认为这不是你的代码,所以如果你无法弄明白,请尝试提供有关标签和手机之间差异的信息(除了显而易见的)。
只是预感,所以我很抱歉,如果它远离基地。
祝你好运!答案 1 :(得分:0)
不确定您面临的问题。谦卑地建议尝试替代方案:
您可以注册WIFI_STATE_CHANGED_ACTION意图,然后在onReceive()中调用getConnectionInfo()。 NetworkInfo.DetailedState类应提供(更详细的)有关IP地址是否可用的信息,然后可以启动您的活动。