有谁知道方法hasClients
在android sdk中做了什么?
boolean com.android.ddmlib.IDevice.hasClients()
它看起来不像它的记录。
我试图找到一种方法来查看是否正在使用模拟器。有什么好办法吗?
for(int i =0; i < devices.length; i++){
if(!devices[i].hasClients()){
monkeyDevice = devices[i];
}
}
当我说使用时,我的意思是说当前设备上正在运行一个应用程序,或者它是否接收到任何命令。
我应该提到我想从我的应用程序中测试外部这些条件。我有一个单独的类在应用程序外部运行,在可用的模拟器中启动应用程序。我希望这个猴子类知道现有的模拟器是否已经用于测试。
答案 0 :(得分:0)
看看这个问题,看看你是否在模拟器中运行:
How can I detect when an Android application is running in the emulator?
在与猴子相关的问题上,您可能希望查看Activity.isUserAMonkey()方法(因为API级别8,OS 2.2)。 Google DeviceAdminSample code给出了简要说明:
/**
* If the "user" is a monkey, post an alert and notify the caller. This prevents automated
* test frameworks from stumbling into annoying or dangerous operations.
*/
private static boolean alertIfMonkey(Context context, int stringId) {
if (ActivityManager.isUserAMonkey()) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage(stringId);
builder.setPositiveButton(R.string.monkey_ok, null);
builder.show();
return true;
} else {
return false;
}
}