Android判断SD卡是否已经挂载

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
提供一个监听方法BroadcastReceiver 设置IntentFilter为:Intent.ACTION_MEDIA_MOUNTEDIntent.AC TION_MEDIA_EJECTIntent.ACTION_MEDIA_REMOVED 然后再public void onReceive(Context context, Intent intent) 中实现你的启动逻辑startActivity
private final BroadcastReceiver broadcastRec = new BroadcastReceiver()  

{

  @Override

  public void onReceive(Context context, Intent intent) {

  if(intent.getAction().equals("android.intent.action.MEDIA_MOUNTED"))//SD  

卡已经成功挂载

  {

  imagepath =  

android.os.Environment.getExternalStorageDirectory();//你的SD卡路径

  }else  

if(intent.getAction().equals("android.intent.action.MEDIA_REMOVED")//各种未挂载状态

  ||intent.getAction().equals("android.intent.action.ACTION_MEDIA_UNMOUNTED")

  ||intent.getAction().equals("android.intent.action.ACTION_MEDIA_BAD_REMOVAL"))

  {

  imagepath = android.os.Environment.getDataDirectory();//你的本地路径

  }

  }

  };

  //在IntentFilter中选择你要监听的行为

  IntentFilter intentFilter = new  

IntentFilter(Intent.ACTION_MEDIA_MOUNTED);

  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.addDataScheme("file");

  registerReceiver(broadcastRec, intentFilter);//注册监听函数

  unregisterReceiver(broadcastRec);//使用完注销广播监听函数

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:在线程里运行scrapy的方法

下一篇:python中字典dict的常用操作方法