Android -- (静态广播) APP 监听U盘挂载

打印 上一主题 下一主题

主题 619|帖子 619|积分 1857

Android – (静态广播) APP 监听U盘挂载


  • 注册广播(AndroidManifest.xml):
    1. <receiver android:name=".receiver.MountReceiver">
    2.         <intent-filter>
    3.                 <action android:name="android.intent.action.MEDIA_MOUNTED" />
    4.                 <action android:name="android.intent.action.MEDIA_UNMOUNTED" />
    5.                 <action android:name="android.intent.action.MEDIA_REMOVED" />
    6.                 <action android:name="android.intent.action.MEDIA_EJECT" />
    7.                 <data android:scheme="file" />
    8.         </intent-filter>
    9. </receiver>
    复制代码
  • 自界说广播类:
    1. /**
    2. * U盘挂载事件
    3. * EJECT/REMOVE/MOUNT/UNMOUNT
    4. */
    5. public class MountReceiver extends BroadcastReceiver {
    6.     private static final String TAG = "MountReceiver";
    7.     @Override
    8.     public void onReceive(Context context, Intent intent) {
    9.         String action = intent.getAction();
    10.         if (TextUtils.isEmpty(action)) return;
    11.         if (intent.getData() == null)
    12.             return;
    13.         try {
    14.             String path = intent.getData().getPath();
    15.             Log.i(TAG, "usb path: " + path);
    16.             if (path.contains("emulated")) {//防止自启时本地路径触发
    17.                 return;
    18.             }
    19.             //在后台服务里去执行具体处理逻辑
    20.             context.startService(CoreService.getIntent(context, action, path));
    21.         } catch (Throwable e) {
    22.             e.printStackTrace();
    23.         }
    24.     }
    25. }
    复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表