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 プロトコルを使用するデバイス (Samsung 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 に答える