溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android獲取監(jiān)聽SD卡狀態(tài)

發(fā)布時間:2020-09-02 17:43:37 來源:腳本之家 閱讀:218 作者:我好_菜 欄目:移動開發(fā)

項(xiàng)目簡介:

該項(xiàng)目監(jiān)聽SD卡狀態(tài)

詳細(xì)介紹:

部署該應(yīng)用后,當(dāng)SD卡狀態(tài)發(fā)送改變時,系統(tǒng)會發(fā)出吐司通知用戶

該應(yīng)用涉及到的知識有:

1.Android的四大組件之一:廣播接收者的使用

2.SD卡狀態(tài)的廣播

注意:

1.只有在 2.x 模擬器上才能對SD卡進(jìn)行操作,所以該應(yīng)用應(yīng)當(dāng)部署在 2.x 的模擬器上

2.一個廣播接收者是可以接受多個廣播的,直接添加多個action就可以了

3.SD卡不同的狀態(tài)有不同的廣播,主要有三種:

<action android:name="android.intent.action.MEDIA_MOUNTED" />
//SD卡處于可用狀態(tài),即掛載狀態(tài)
<action android:name="android.intent.action.MEDIA_REMOVED" />
 //SD卡被拔出了,即處于移除狀態(tài)
<action android:name="android.intent.action.MEDIA_UNMOUNTED" />
//SD卡插入了,但是沒有掛載,不可用,即處于卸載狀態(tài)

4.監(jiān)聽SD卡狀態(tài),一定要在過濾器中加入

<data android:scheme="file" />

步驟:

1.創(chuàng)建一個Android項(xiàng)目,在該項(xiàng)目中創(chuàng)建一個廣播接收者,代碼如下:

public class SDStatusReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {

    // 判斷收到的是什么廣播
    String action = intent.getAction();

    // 最好不要用switch語句,java1.7以前switch是不支持字符串的,所以最好使用if語句判斷
    if ("android.intent.action.MEDIA_MOUNTED".equals(action)) {
      Toast.makeText(context, "SD卡可用", 0).show();
    } else if ("android.intent.action.MEDIA_REMOVED".equals(action)) {
      Toast.makeText(context, "SD卡拔出", 0).show();
    } else if ("android.intent.action.MEDIA_UNMOUNTED".equals(action)) {
      Toast.makeText(context, "SD卡不可用", 0).show();
    }
  }

}

2.在清單文件中添加Receiver,監(jiān)聽SD卡不需要權(quán)限:

    <receiver android:name=".SDStatusReceiver" >
      <intent-filter>
        <action android:name="android.intent.action.MEDIA_MOUNTED" />
        <action android:name="android.intent.action.MEDIA_REMOVED" />
        <action android:name="android.intent.action.MEDIA_UNMOUNTED" />

        <data android:scheme="file" />
      </intent-filter>
    </receiver>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI