0

我想在 android 手机/平板电脑连接到带有日期和时间的 PC 时创建日志用户活动

我搜索了很多我无法找到如何捕捉 USB 连接事件

我已经实现了log4j记录异常和电话用户的步骤。但是我无法记录有关 PC 连接的任何内容。

请帮我。谢谢

4

1 回答 1

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 协议的设备(例如三星 Nexus Galaxy)没有收到此广播。

来源:Android:检测 USB

或者检查充电以防设备具有 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

于 2013-02-06T03:51:04.877 回答