安卓监听手机USB接口拔插警报广播
很多场景我们都是需要监听手机拔插,手机都会自带一个广播去监听,我们手机充电,手机接入电脑的时候,一般都会有个小小的震动。在商场上,人多混杂,手机插在USB上,一旦有人想打手机的主意的话,如果没有什么警报措施的话,很容易被盗的。接下来看安卓知识。
既然是监听手机自身的广播,那么,首先我们得知道是那一个广播,看代码。
1、这个是我们所监听的广播,自定义一个UsbStateReceiver,Action指定为
android:name=”android.hardware.usb.action.USB_STATE”

<receiver android:name="com.example.usb.UsbStateReceiver" ><intent-filter android:priority="1000" ><action android:name="android.hardware.usb.action.USB_STATE" /></intent-filter></receiver>

2、在清单文件配置好后,我们做的警报无非就是发出警报的声音,和手机震动之类的。那么我们首先准备警报声音资源。在res文件下建一个文件夹raw存放警报声音。如下图:

3、我们这个时候将用起来这个声音文件以及震动,会想到这个时候需要哪些权限呢,百度、谷歌搜索了下,看下面权限。

  <uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

上面的权限是使用手机震动和播放音效的时候用的。准备工作做好了,接下来做广播的核心编码了。
4、话不多说了,直接看代码吧:

/*** usb检测广播* * @author jian**/
public class UsbStateReceiver extends BroadcastReceiver {private Vibrator vibrator;// 手机震动private MediaPlayer mPlayer;//音乐播放@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);if (action.equals("android.hardware.usb.action.USB_STATE")) {if (intent.getExtras().getBoolean("connected")) {// usb 插入vibrator.cancel();// 停止震动Toast.makeText(context, "...插入", Toast.LENGTH_LONG).show();if (mPlayer != null) {if (mPlayer.isPlaying()) {mPlayer.pause();// 暂停mPlayer.stop();//停止mPlayer.release();//释放mPlayer = null;//Toast.makeText(context, "...stoping", Toast.LENGTH_LONG).show();}Toast.makeText(context, "...playing", Toast.LENGTH_LONG).show();}} else {if (mPlayer == null) {mPlayer = MediaPlayer.create(context, R.raw.mp);mPlayer.setLooping(true);// 可循环mPlayer.start();}/** usb 拔出 想设置震动大小可以通过改变pattern来设定,如果开启时间太短,震动效果可能感觉不到*/long[] pattern = { 100, 400, 100, 400 }; // 停止 开启 停止 开启vibrator.vibrate(pattern, 2); // 重复两次上面的pattern 如果只想震动一次,index设new Thread() {public void run() {try {sleep(600000);// 震动5秒钟停止震动vibrator.cancel();// 停止震动mPlayer.stop();// 停止音乐mPlayer.release();mPlayer = null;} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}};}.start();}}}}

这些用上后,你可以任何地方来注册这个广播了,商场展销直接后台开启监听。

安卓监听手机USB接口拔插警报广播相关推荐

  1. 【C#】Winform监听USB串口设备拔插

    [C#]Winform监听USB串口设备拔插 零.问题 最近在开发串口相关的软件,需要检测串口拔掉后主动关闭串口,因此需要检测到USB的拔插事件. 一.解决 在主窗口From类下覆盖WndProc方法 ...

  2. 模拟usb重新插拔_Android 10带来黑科技 检测手机USB接口是否有液体或者是否过热...

    谷歌昨天正式发布Android 10手机操作系统,同时谷歌全系列三代Pixel智能手机均可升级到Android 10正式版,而参与Android beta测试项目的智能手机厂商也同时为旗下部分智能手机 ...

  3. Android APP 检测和监听当前USB设备插入拔出以及读取VID/PID

    一.列出所有的usb device设备,打印vip pid private boolean AllDeviceConnected(){UsbManager manager = (UsbManager) ...

  4. 2022-08-29 AndroidR 修改默认usb连接模式为MTP(Media Transfer Protocol)),UsbDeviceManager.java里面处理OTG口usb设备拔插侦听

    一.默认是做为adb 调试功能,实际测试修改persist.sys.usb.config 是没有用. 二.拔插usb设备默认的选项是No data transfer  三.按下面的修改就可以修改默认u ...

  5. 解决安卓手机USB接口被外设占用导致无法调试的问题

    安卓新人,在做一个通过安卓手机USB接口控制外部设备的项目. 开始就没有办法调试,因为USB接口被设备占用了, 只能用文本一次一次的把状态显示在主界面上,相当费劲,而且时不时程序就崩溃.基本没有办法对 ...

  6. android 监听手机电量变化

    今天,简单讲讲如何监听手机电量的变化. 监听电量是不能静态注册的. 后来上网搜索,发现有五个不能静态注册的广播,这里记录一下,免得下次再后知后觉的发现并惊讶于自己的笨拙. 不能静态注册的广播: and ...

  7. android中多个usb接口吗,手机USB接口那么多 你真的全认识吗?

    描述 根据调查发现,随着智能手机功能越来越多,功耗也越来越大,手机待机时间也随之变得越来越短,每天给手机充两次电已经成为一种常态.如果是手机控的话,充电次数远不止此. 我们都知道给手机充电需要将数据线 ...

  8. android外接usb摄像头demo_手机USB接口有哪些功能 手机USB接口功能介绍【详解】

    手机身上的USB接口主要的任务就是充电,连接PC传输数据,你还能想到其他的功能吗?没错,它还能连接USB小风扇.小台灯等外设.但是,你以为所有手机在实现这些功能时的体验和效果都是一样的吗? 充电速度和 ...

  9. HTML5——监听手机的一些事件:手机加速度devicemotion、设备方向变化deviceorientation、手机摇一摇、指南针

    1. devicemotion:监听手机加速度变化的事件(比如:手机疯狂摇摆) 属性:均为只读属性 (1)accelerationIncludingGravity:重力加速度(包括重心引力9.8) ( ...

最新文章

  1. redis学习之常用数据类型
  2. SDWC2017游记
  3. Leetcode 211. 添加与搜索单词 - 数据结构设计 解题思路及C++实现
  4. 2.5 matlab稀疏矩阵
  5. 【PAT笔记】PAT中的散列思想
  6. volatile与synchronized的区别
  7. 打字机已经被计算机所取代用英语,无法被电脑所取代的职业
  8. java调用自身_Java有趣的自己调用自己
  9. tensorflow GPU版本配置加速环境
  10. wps建立的文件后缀名为docx,写在里面的东西还不允许保存
  11. oracle 查询某天的数据
  12. CSPs-2020 T2 动物园
  13. MeeGo系统Atom处理器 神秘设备现身俄罗斯
  14. 联通将推自有品牌手机沃Phone 基于Android
  15. Longest Increasing Subsequence
  16. SQL 模拟生成商品订单表
  17. PHPStorm 配置 debug 默认参数
  18. 企业内容管理(ECM)与文档管理的区别及其优势
  19. 简单画布canvas的画法
  20. 拦截器和过滤器的同异

热门文章

  1. S7-1200 PLC高速计数器
  2. AC-DMIS 5.3 测针注释信息阅读
  3. 发射接收模块与示波器
  4. 树莓派4b官方系统更换清华源
  5. SPI极性与相位简介
  6. Linux课程总结报告
  7. 给你一个觉醒的机会,你要不要?
  8. 小家电遇冷,苏泊尔、九阳、小熊电器求变
  9. 四个步骤教会你休眠文件怎么删除?
  10. 如何修改游戏服务器,怎样修改游戏服务器