用于Wifi状态的Android Monkeyrunner插件

时间:2014-12-18 21:22:12

标签: java android python jython monkeyrunner

我正在尝试为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;
}

}

2 个答案:

答案 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();