我正在尝试为Android Monkeyrunner编写一个java插件来检查WiFi状态。 我想使用 Android API WiFiManager 获取当前的WiFi状态并将其恢复。
Eclipse中的错误消息是: 对于类型MonkeyWifi
,方法getWifiState()未定义如何更改代码以获取当前的WiFi状态?
这是我到目前为止的代码:
package com.my.android.wifi;
import org.python.core.PyInteger;
import org.python.core.PyObject;
import org.python.core.PyString;
import org.python.util.PythonInterpreter;
import com.android.monkeyrunner.MonkeyDevice;
import com.google.common.base.Predicate;
import android.net.wifi.WifiManager;
public class MonkeyWifi implements Predicate<PythonInterpreter> {
public class NewActivity extends Activity {
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
}
public int WifiStatus(){
int state;
state = wifiManager.getWifiState();
return state;
}
@Override
public boolean apply(PythonInterpreter arg0) {
return false;
}
}
答案 0 :(得分:1)
您可以使用AndroidViewClient代替(版本 8.26.0 或更高版本),然后您就可以访问基本的wifi信息了。
检查wifi状态的基本脚本将沿着这些行
#! /usr/bin/env python
# -*- coding: utf-8 -*-
from com.dtmilano.android.viewclient import ViewClient
from com.dtmilano.android.adb.adbclient import WIFI_SERVICE, WifiManager
device, serialno = ViewClient.connectToDeviceOrExit()
wifiManager = device.getSystemService(WIFI_SERVICE)
print "wifi state:", wifiManager.getWifiState()
答案 1 :(得分:0)
您必须创建WifiManager
的实例。根据{{3}}页面,您可以致电:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
然后你可以通过以下方式获得州:
state = wifiManager.getWifiState();