最近在對android手機做自動化測試,需要管理手機裝置,需要監聽手機裝置的上線與下線,谷歌ddmlib包提供了解決方案。下面直接貼出**。
1、首先新建devicechangelistener,實現androiddebugbridge.idevicechangelistener介面,裡面有三個方法,分別是手機連線、離線、狀態改變的介面。
package com.nii.desktop.adb;
import com.android.ddmlib.androiddebugbridge;
import com.android.ddmlib.idevice;
/** * created by wzj on 2017/8/21.
*/public class devicechangelistener implements androiddebugbridge.idevicechangelistener
. * * this is sent from a non ui thread.
** @param device the new device.
*/@override
public void deviceconnected(idevice device)
/*** sent when the a device is connected to the .
* * this is sent from a non ui thread.
** @param device the new device.
*/@override
public void devicedisconnected(idevice device)
/*** sent when a device data changed, or when clients are started/terminated on the device.
* * this is sent from a non ui thread.
** @param device the device that was updated.
* @param changemask the mask describing what changed. it can contain any of the following
* values: , ,
*
*/@override
public void devicechanged(idevice device, int changemask)
else}}
2、對androiddebugbridge類做一次封裝,封裝初始化、註冊***、移除***、銷毀等方法
package com.nii.desktop.adb;
import com.android.ddmlib.androiddebugbridge;
import com.android.ddmlib.idevice;
/** * created by wzj on 2017/8/21.
*/ public void init(boolean clientsupport)
/*** 註冊裝置***
** @param listener ***
*/public void adddevicechangelistener(androiddebugbridge.idevicechangelistener listener)
/*** 移除***
** @param listener ***
*/public void removedevicechangelistener(androiddebugbridge.idevicechangelistener listener)
public void terminate()
public void disconnectbridge()
}
3、最後新建提供服務的devicemanager裝置管理類,該類是單例,通過該類可以獲取裝置列表,啟動服務等操作。
package com.nii.desktop.adb;
/** * 裝置管理類
* created by wzj on 2017/8/21.
*/public class devicemanager
/*** 獲取單例類
* @return devicemanager
*/public static devicemanager getinstance()
return instance;
}/**
* 啟動方法
*/public void start()
/*** 銷毀方法
*/public void destory()}}
4、如何使用呢?呼叫devicemanager的start方法就啟動了裝置管理,由於啟動有點慢,放到執行緒中啟動。
private void startdevicemanager()
}).start();
}
可以看到,***已經在正常的工作了,下面是日誌視窗的輸出。
android 藍芽裝置監聽廣播
藍芽許可權 1 監聽手機本身藍芽狀態的廣播 手機藍芽開啟關閉時傳送 action bluetoothadapter.action state changed if action.equals bluetoothadapter.action state changed 2 監聽藍芽裝置配對狀態的廣播 ...
android 藍芽裝置監聽廣播
藍芽許可權 1 監聽手機本身藍芽狀態的廣播 手機藍芽開啟關閉時傳送 action bluetoothadapter.action state changed if action.equals bluetoothadapter.action state changed 2 監聽藍芽裝置配對狀態的廣播 ...
Android裝置上的OTG
關於驅動 otg驅動在核心配置好 usb host 控制器的時候就已經支援 otg了。如果硬體上不支援otg 那麼就沒有辦法識別插入到 usb guest 口上的裝置。待測試 關於應用 otg對於應用程式來說是和普通的 usb host 口是一樣樣的。所以開發應用程式完全不用管是插入 host 口的...