-2

インテント フィルター -> ACTION_ACL_CONNECTED、ACTION_ACL_DISCONNECT_REQUESTED、および ACTION_ACL_DISCONNECTED を使用して、WiFi と Bluetooth に何かがあることは知っていますが、接続されているデバイスが削除されたかどうかを確認する一般的な方法はありますか。例: Android デバイスを Mac に接続しましたが、スマートフォンがロックされ、Mac への接続を解除すると、ローカル プッシュやサウンドなどをこの方向にトリガーできます...

アップデート

@Rajesh Gopu からの回答を試してみましたが、これは良さそうですが、残念ながらうまくいきませんでした:(

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    IntentFilter filter = new IntentFilter();
    filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
    filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
    registerReceiver(mUsbReceiver, filter); //register
    Toast.makeText(getApplicationContext(), "ON CREATE", Toast.LENGTH_LONG).show();

}

// BroadcastReceiver when insert/remove the device USB plug into/from a USB port
BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {//get Event
        Toast.makeText(getApplicationContext(), "ON RECEIVE", Toast.LENGTH_LONG).show();

        String action = intent.getAction();
        System.out.println("BroadcastReceiver Event");
        if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
            Toast.makeText(getApplicationContext(), "CONNECTED", Toast.LENGTH_LONG).show();
            System.out.println("BroadcastReceiver USB Connected");
        } else if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) {
            Toast.makeText(getApplicationContext(), "DISCONNECTED", Toast.LENGTH_LONG).show();
            System.out.println("BroadcastReceiver USB Disconnected");
        }
    }
};
}
4

1 に答える 1

2

Broadcaster 受信機を使用して、Android システムは、ブロードキャストによって内部イベントを通知します。これは、アクションを broadcastrecever に登録することで、アプリで受信できます。

以下は、USB 接続/切断イベントを受信する例です。

 IntentFilter filter = new IntentFilter();
filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
registerReceiver(mUsbReceiver, filter); //register  

  // BroadcastReceiver when insert/remove the device USB plug into/from a USB port  
  BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
  public void onReceive(Context context, Intent intent) {//get Event
    String action = intent.getAction();
    System.out.println("BroadcastReceiver Event");
    if (UsbManager.ACTION_USB_DEVICE_ATTACHED.equals(action)) {
        System.out.println("BroadcastReceiver USB Connected");
    } else if (UsbManager.ACTION_USB_DEVICE_DETACHED.equals(action)) {
        System.out.println("BroadcastReceiver USB Disconnected");
    }
  }

}

于 2016-10-20T12:38:57.720 に答える