效果图:

Android 系统监听,监听USB的插拔_第1张图片

------------------------------------ UsbAccessoryActivity ------------------------------

package com.example.mystudydemo;import androidx.appcompat.app.AppCompatActivity;import android.app.PendingIntent;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.hardware.usb.UsbManager;import android.os.BatteryManager;import android.os.Bundle;import android.widget.TextView;import com.google.android.material.snackbar.Snackbar;public class UsbAccessoryActivity extends AppCompatActivity {    PendingIntent mPermissionIntent;    private static final String ACTION_USB_PERMISSION = "com.android.example.USB_PERMISSION";    TextView mUsbConState;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_usb_accessory);        mUsbConState = findViewById(R.id.usb_connect_state_tv);        initUsbAccessoryWidget();    }    private void initUsbAccessoryWidget() {        mPermissionIntent = PendingIntent.getBroadcast(this, 0,                new Intent(ACTION_USB_PERMISSION), 0);        IntentFilter filter = new IntentFilter(ACTION_USB_PERMISSION);        filter.addAction(UsbManager.ACTION_USB_ACCESSORY_DETACHED);        filter.addAction(UsbManager.ACTION_USB_ACCESSORY_ATTACHED);        filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);        filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);        filter.addAction(Intent.ACTION_BATTERY_CHANGED);        registerReceiver(mUsbReceiver, filter);    }    private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {        @Override        public void onReceive(Context context, Intent intent) {            String action = intent.getAction();            if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {                int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);                boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;                if (usbCharge) {                    mUsbConState.setText("USB连接");                    Snackbar.make(mUsbConState, "It's Connected", Snackbar.LENGTH_LONG).show();                } else {                    Snackbar.make(mUsbConState, "It's No Connected", Snackbar.LENGTH_LONG).show();                    mUsbConState.setText("USB断开");                }            }        }    };}

------------------------------------ activity_usb_accessory.xml------------------------------

<?xml version="1.0" encoding="utf-8"?>    

 

更多相关文章

  1. Android如何查找应用中调用的系统资源
  2. Android调用系统应用程序
  3. Android使用系统分享文件给微信,QQ指定的用户
  4. Android系统属性SystemProperties.set/get详解
  5. 视频聊天系统源码Android 播放视频
  6. 用Javascript判断访问来源操作系统, 设备, 浏览器类型
  7. CreateProcess error=2, 系统找不到指定的文件。
  8. Hook android系统调用研究(一)
  9. android 开发收银系统,弹出键盘固定界面UI的方法

随机推荐

  1. 开发 Standalone Android(安卓)Java 应用
  2. Android(安卓)Frameworks系列(一) startS
  3. Android的消息机制(java层)
  4. Android推送通知指南
  5. 一个资深的Android开发者需要掌握哪些技
  6. 设置控件的透明度 ,android:layout_center
  7. Android(安卓)签名详解
  8. Android(安卓)listview中item部分区域添
  9. android如何开发流量监控软件
  10. Android之Adapter用法