我想在 android 手机/平板电脑连接到带有日期和时间的 PC 时创建日志用户活动
我搜索了很多我无法找到如何捕捉 USB 连接事件
我已经实现了log4j
记录异常和电话用户的步骤。但是我无法记录有关 PC 连接的任何内容。
请帮我。谢谢
我想在 android 手机/平板电脑连接到带有日期和时间的 PC 时创建日志用户活动
我搜索了很多我无法找到如何捕捉 USB 连接事件
我已经实现了log4j
记录异常和电话用户的步骤。但是我无法记录有关 PC 连接的任何内容。
请帮我。谢谢
您可以使用以下接收器,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 协议的设备(例如三星 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