欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android判断SD卡是否已经挂载的方法

程序员文章站 2022-06-29 09:06:16
本文实例讲述了android判断sd卡是否已经挂载的方法。分享给大家供大家参考。具体如下: 提供一个监听方法broadcastreceiver 设置intentfilte...

本文实例讲述了android判断sd卡是否已经挂载的方法。分享给大家供大家参考。具体如下:

提供一个监听方法broadcastreceiver 设置intentfilter为:

intent.action_media_mounted
intent.action_media_eject
intent.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);//使用完注销广播监听函数

希望本文所述对大家的android程序设计有所帮助。