Android Wi-Fi API-интерфейс с 3.1 - PullRequest
0 голосов
/ 30 января 2012

Я хочу начать свою деятельность, когда мой Wi-Fi будет включен, чтобы я вызывал свою активность, когда WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION. Он будет работать нормально с 2.3 (Gingerbread) samsung tap, но та же самая программа не будет работать в 3.1 (Honeycomb) samsung 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");
            }
        }
    }
}

Ответы [ 2 ]

2 голосов
/ 30 января 2012

Я не уверен, что именно вы выдаете, но похоже, что это как-то связано с вашим ПЗУ, рутован он или нет и т. Д.

Другая возможность - это используемый вами API.Требуется ли для HC версия, отличная от GB?

Я не думаю, что это ваш код, поэтому, если вы не можете понять его, попробуйте предоставить информацию о разнице между вкладкой и телефоном (помимо очевидного).

Просто догадка, поэтому извините, если это далеко от базы.

Удачи!

0 голосов
/ 30 января 2012

Не уверен в проблеме, с которой вы столкнулись.Смиренно предложил бы попробовать альтернативу:

Вы можете зарегистрироваться для намерения WIFI_STATE_CHANGED_ACTION, а затем в onReceive () вызвать getConnectionInfo ().Класс NetworkInfo.DetailedState должен предоставить (более подробную) информацию о том, доступен ли IP-адрес, после которого можно начать свою деятельность.

...