Android獲取監(jiān)聽SD卡狀態(tài)
項(xiàng)目簡(jiǎn)介:
該項(xiàng)目監(jiān)聽SD卡狀態(tài)
詳細(xì)介紹:
部署該應(yīng)用后,當(dāng)SD卡狀態(tài)發(fā)送改變時(shí),系統(tǒng)會(huì)發(fā)出吐司通知用戶
該應(yīng)用涉及到的知識(shí)有:
1.Android的四大組件之一:廣播接收者的使用
2.SD卡狀態(tài)的廣播
注意:
1.只有在 2.x 模擬器上才能對(duì)SD卡進(jìn)行操作,所以該應(yīng)用應(yīng)當(dāng)部署在 2.x 的模擬器上
2.一個(gè)廣播接收者是可以接受多個(gè)廣播的,直接添加多個(gè)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)建一個(gè)Android項(xiàng)目,在該項(xiàng)目中創(chuàng)建一個(gè)廣播接收者,代碼如下:
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>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android實(shí)現(xiàn)瘋狂連連看游戲之加載界面圖片和實(shí)現(xiàn)游戲Activity(四)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)瘋狂連連看游戲之加載界面圖片和實(shí)現(xiàn)游戲Activity,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03android導(dǎo)入第三方j(luò)ar包報(bào)錯(cuò) 如何正確導(dǎo)入jar包
怎樣在android平臺(tái)上使用第三方j(luò)ar包,為什么我在引入了,編譯時(shí)沒有錯(cuò)誤,運(yùn)行時(shí)就有錯(cuò)誤,報(bào)無法實(shí)例化錯(cuò)誤,請(qǐng)問這是什么原因,本文給于解決方法,需要了解的朋友可以參考下2012-12-12Android開發(fā)實(shí)現(xiàn)的圓角按鈕、文字陰影按鈕效果示例
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)的圓角按鈕、文字陰影按鈕效果,涉及Android界面布局與屬性設(shè)置相關(guān)操作技巧,需要的朋友可以參考下2019-04-04Afianl框架里面的FinalBitmap加載網(wǎng)絡(luò)圖片
這篇文章主要介紹了Afianl框架里面的FinalBitmap加載網(wǎng)絡(luò)圖片的相關(guān)資料,需要的朋友可以參考下2015-07-07