我想在Android手机/平板电脑连接到具有日期和时间的PC时创建日志用户活动
我搜索了很多,因为我无法找到如何捕获USB连接事件
我已经实现了log4j
用于记录例外和电话用户的步骤。但是我无法记录有关PC连接的任何内容。
请帮帮我。 感谢
答案 0 :(得分:0)
您可以使用以下接收器android.intent.action.UMS_CONNECTED
<receiver android:name="org.usbcheck.USBReceiver" >
<intent-filter>
<action android:name="android.intent.action.UMS_CONNECTED" />
<action android:name="android.intent.action.UMS_DISCONNECTED" />
</intent-filter>
</receiver>
用于记录
public class USBReceiver extends BroadcastReceiver {
public Context _context;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equalsIgnoreCase(
"android.intent.action.UMS_CONNECTED")) {
Log.d("Connected", "Log Message");
}
else if (intent.getAction().equalsIgnoreCase(
"android.intent.action.UMS_DISCONNECTED")) {
Log.d("DisConnected", "Log Message");
}
}
}
检查android.intent.action.ums_connected时的主要问题是 使用MTP协议的设备(例如Samsung Nexus Galaxy) 不接收此广播。
或者在设备具有USB充电模式的情况下检查充电
// How are we charging?
int chargePlug = battery.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean usbCharge = chargePlug == BATTERY_PLUGGED_USB;
boolean acCharge = chargePlug == BATTERY_PLUGGED_AC;
来源:http://developer.android.com/training/monitoring-device-state/battery-monitoring.html