zoukankan      html  css  js  c++  java
  • Android监听外部存储设备的状态(SD卡、U盘等等)

    近期在项目中须要对外部存储设备的状态进行监听,所以整理了此笔记,以便日后查看。

    外部存储设备的状态变化时发出的广播






















    对照不同状态下的广播

    1. 插入外部SD卡时:






    2. 移除外部SD卡时:






    3. 连接PC进入USB大容量存储模式时:






    4. 连接PC退出USB大容量存储模式时:






    代码实现监听


    public void startListen()
    {
        IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED);
        intentFilter.setPriority(1000);  
        intentFilter.addAction(Intent.ACTION_MEDIA_UNMOUNTED);
        intentFilter.addAction(Intent.ACTION_MEDIA_REMOVED);
        intentFilter.addAction(Intent.ACTION_MEDIA_SHARED);
        intentFilter.addAction(Intent.ACTION_MEDIA_BAD_REMOVAL); 
        intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_STARTED);
        intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED); 
        intentFilter.addAction(Intent.ACTION_MEDIA_CHECKING);
        intentFilter.addAction(Intent.ACTION_MEDIA_EJECT);
        intentFilter.addAction(Intent.ACTION_MEDIA_NOFS);
        intentFilter.addAction(Intent.ACTION_MEDIA_BUTTON);
        intentFilter.addAction(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        intentFilter.addDataScheme("file");
        registerReceiver(broadcastRec, intentFilter);
    }
    
    private final BroadcastReceiver broadcastRec = new BroadcastReceiver() {  
        @Override  
        public void onReceive(Context context, Intent intent) {  
            String action = intent.getAction(); 
            Log.d("MediaAction", action);
            if (action.equals("android.intent.action.MEDIA_MOUNTED"))
            {  
            	//todo
            } else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED)) 
            {  
            	//todo
            }else if (action.equals(Intent.ACTION_MEDIA_SCANNER_STARTED)){
            }else if (action.equals(Intent.ACTION_MEDIA_SCANNER_FINISHED)){
            }else if (action.equals(Intent.ACTION_MEDIA_SHARED)){
            }else { 
            }  
        }  
    }; 


  • 相关阅读:
    微信小程序------代码构成
    微信小程序------开发测试
    H5中 input消除默认,取消在手机上的点击高亮效果
    html5 WebSocket
    js和jquery如何获取图片真实的宽度和高度_javascript技巧
    如何解决Provisional headers are shown问题(转)
    JQuery怎样返回前一页
    tp5 通过IP获取对应ip的城市
    php 将富文本编辑后的内容转义为不带HTML标签的字符
    tp5 分页样式
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4306198.html
Copyright © 2011-2022 走看看