广播监听USB插入与拔出

package com.joy.usbbroadcastreceiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "joy:";
    private USBBroadcastReceiver usbBroadcastReceiver;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction("android.hardware.usb.action.USB_STATE");
        usbBroadcastReceiver = new USBBroadcastReceiver();
        registerReceiver(usbBroadcastReceiver, intentFilter);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (usbBroadcastReceiver != null) {
            unregisterReceiver(usbBroadcastReceiver);
        }
    }

    class USBBroadcastReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            if (intent.getAction().equals("android.hardware.usb.action.USB_STATE")) {
                if (intent.getExtras().getBoolean("connected")) {
                    // usb 插入
                    Toast.makeText(MainActivity.this, "usb 插入", Toast.LENGTH_SHORT).show();
                    logi("usb 插入");
                } else {
                    //   usb 拔出
                    Toast.makeText(MainActivity.this, "usb 拔出", Toast.LENGTH_SHORT).show();
                    logi("usb 拔出");
                }
            }
        }
    }

    public void logi(String s) {
        Log.i(TAG, "joy99:" + s);
    }
}

时间: 2024-08-06 11:33:02

广播监听USB插入与拔出的相关文章

Android_ UEventObserver_监听USB插拔

本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/38950363 1.简介 最近做一个项目,主要通过usb完成pc与Android端的数据传输.但是根据api提供的无法监听usb的插拔,有解释为不同版本会存在BUG.本打算放弃跳过监听usb,改为在连上usb后pc点击按钮发出一个广播来主动打开Android端的应用程序,然后通过socket完成数据交互.这里主要通过UEventObserver,而该类位于/frame

QT 监听 USB 设备 插入、拔出动作

参考网上资料,通过QT 实现 #ifndef WIDGET_H #define WIDGET_H #include <QtGui/QWidget> #include <windows.h> #include <QString> class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = 0); ~Widget(); protected: bool winEvent(MSG *msg,

android 监听 USB 拔插广播消息

Java: 1 package com.example.communication; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.widget.Toast; 7 8 public class USBBroadcastReceiver extends BroadcastReceiver

c# 获取移动硬盘信息、监听移动设备的弹出与插入事件

原文:c# 获取移动硬盘信息.监听移动设备的弹出与插入事件 备忘一下改功能,主要通过WMI来实现,对于监听外接设备的弹出和插入事件一开始使用IntPtr WndProc事件,但是当监听到改事件时,同过WMI来获取设备,有时候还不能获取到,因此还是使用WqlEventQuery 来监听WMI的变化.下列是主要代码片段 1. 获取硬盘的固件序列号,盘序列号(由系统指派的唯一ID),总容量,剩余容量, 盘符,盘名称等信息 private static List<DriverBase> GetDriv

用win32 API监听U盘插拔并取得其盘符/取得当前插入U盘的盘符

版权声明:本文为博主原创文章,未经博主允许不得转载. 用win32 API监听U盘插拔并取得其盘符 1.使用RegisterDeviceNotification()函数注册 [cpp] view plain copy static const GUID GUID_DEVINTERFACE_USB_DEVICE = {0xA5DCBF10, 0x6530, 0x11D2, {0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED}}; void Registe

检测耳机插入和拔出

实时检测耳机插入和拔出: 每当插入和拔出耳机时,系统都会发送Intent广播, 所以,只需要用一个receiver把这个广播intent(获取的action是:"android.intent.action.HEADSET_PLUG")截获就好. 这个receiver必须要用代码注册,而不能写在manifest里面用写入内存的方式. 在Android下实现检测耳机插入和拔出,也即建立一个Broadcast Receiver,监听"android.intent.action.HE

android实现耳机插入和拔出状态检测

在Android下实现检测耳机插入和拔出,需要建立一个BroadcastReceiver,用来监听"android.intent.action.HEADSET_PLUG"广播. 实现步骤: 1.创建一个BroadcastReceiver的子类,并重写onReceive()方法,在该方法中编写接收到广播后的处理逻辑: 2.创建一个Activity类,在onCreate()方法中使用registerReceiver()方法进行注册监听广播: 3.在Activity中重写onDestory(

WINDOWS检测U盘插入,拔出

检测U盘的插入或拔出状态,然后根据状态做出相关操作. 检测U盘是否被插入是通过监听WM_DEVICECHANGE消息来实现的. 判断-U盘拔出和插入-获取它盘符 2010-05-04 10:59 加入消息 ON_WM_DEVICECHANGE(OnDeviceChange) 加入 afx_msg void OnDeviceChange(UINT nEventType, DWORD dwData); -------------------------------------------------

Android NDK开发(八)——应用监听自身卸载,弹出用户反馈调查

转载请注明出处:http://blog.csdn.net/allen315410/article/details/42521251 监听卸载情景和原理分析 1,情景分析 在上上篇博客中我写了一下NDK开发实践项目,使用开源的LAME库转码MP3,作为前面几篇基础博客的加深理解使用的,但是这样的项目用处不大,除了练练NDK功底.这篇博客,我将讲述一下一个各大应用中很常见的一个功能,同样也是基于JNI开发的Android应用小Demo,看完这个之后,不仅可以加深对NDK开发的理解,而且该Demo也可