WifiManager.setWifiEnabled неправильно работает на сотовой - PullRequest
1 голос
/ 26 октября 2011

Я занят написанием небольшой программы для автоматизации моего Wi-Fi на моей сотовой вкладке 3.1 и моем 2.3.5 пряничном телефоне.

Все отлично работает на телефоне, но когда мое приложение пытается отключить Wi-Fi на сотовой, это fc's.

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

Вот мой код, чтобы попытаться объяснить лучше.

Manifest

<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <receiver android:name="WiFiOffDoerReceiver" android:enabled="true">
        <intent-filter>
            <action android:name="za.co.cjoliver.WIFIOFFDOER"/>
        </intent-filter>
    </receiver>

код

import android.app.AlarmManager;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiManager;
import android.util.Log;

public class WiFiOffDoerReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    Log.d("WiFi Beater3", "in WiFiOffDoerReceiver.onReceive");
    WifiManager myWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    myWifiManager.setWifiEnabled(false);
}

}

Позвольте мне сказать спасибо уже за любую помощь.

1 Ответ

1 голос
/ 26 октября 2011

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

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

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

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

Удачи!

...