Android應用例項之----基於BroadCastReceiver的SD卡裝載解除安裝例項!
大家好,經過國慶七天終於又和大家見面了,今天給大家分享的是基於BroadCastReceiver的SD卡裝載解除安裝例項.
Android裝置預設的是當我們插上USB和電腦相連線時,在Android裝置狀態列上會發一條通知資訊,當我們點選這條訊息時,會出現一個對話方塊有"裝載SD卡"和"取消"兩個按鈕,當我們點選裝載時,我們的SD卡將會變成U盤一樣,我們通過電腦可以對SD卡進行操作。
但是我們客戶認為插上USB以後以通知的形式提示使用者,這樣不智慧,他們的需求是當我們插入USB後,就會彈出一個視窗,讓使用者選擇裝載SD卡或者不裝載。
當我拿到這個需求時,我首先想到了去改framework,當framework改得小有模樣時,突然想到自己寫個應用實現這個功能是多麼的簡單,也就是利用到了BroadCastReceiver這個元件,當然我這個應用是整合到了System/app下的,並且是在Launcher應用列表中看不到的。
BroadCastReceiver是Android中重要的五大元件之一,當然實現BroadCastReceiver有兩種方法:一種是我們寫一個類繼承BroadCastReceiver並在AndroidManifest.xml檔案中註冊;另一種方法是在程式碼中直接註冊BroadCastReceiver。
為了便於大家理解,我簡單寫了一個例項,希望對大家有所幫助,下面是具體步驟:
第一步:新建一個Android工程,命名為UsbStorage。目錄結構如下:
第二步:修改main.xml佈局檔案,程式碼如下:
第三步:新建一個BroadcastReceiver,命名為UsbBroadCastRecevier.java,程式碼如下:
第四步:修改主核心程式UsbStorageActivity.java程式碼如下:
第五步:修改AndroidManifest.xml檔案,程式碼如下:
第六步:執行上述工程,當我們插上USB後啟動UsbStorageActivity,效果如下:
點選裝載SD卡按鈕:
當拔掉USB或者點選取消按鈕,該應用關閉。
當然我們這個應用如果按以上方法是必然出現在應用列表中的,而這個應用只能是在插上USB後才啟動,使用者不能自啟動,所以我們需要將這個應用隱藏起來,這裡其實很簡單,只要將第五步中的第12行程式碼去掉即可,即:
不信大家可以試試。lol~
Ok,今天晚上就先寫到這裡。大家有什麼疑問的可以留言.....bye~
相關文章
- ORACLE 單例項完全解除安裝資料庫Oracle單例資料庫
- 5.6單例項安裝單例
- Redis單例項安裝Redis單例
- 基於規則的應用例項——流
- Memcached安裝與使用例項
- mysql 5.7單例項安裝MySql單例
- ORACLE11GR2 RAC解除安裝ASM例項步驟OracleASM
- 清除安裝失敗的asm例項ASM
- Linux下安裝 Docker例項LinuxDocker
- 【Oracle】ASM例項安裝入門OracleASM
- oracle單例項12.2.0.1安裝Oracle單例
- 安裝Mongodb3.0.6單例項MongoDB單例
- BIND 9快速安裝例項(轉)
- oracle例項安裝到 4% 不能繼續安裝Oracle
- 【PSU】Oracle打PSU及解除安裝PSU(單例項)Oracle單例
- ”innerHTML“的應用例項HTML
- dd應用例項
- oracle 11g 單例項安裝Oracle單例
- oracle 多個例項安裝監聽Oracle
- 單例項物件動態裝載問題?單例物件
- jQuery選項卡例項程式碼jQuery
- 基於滴滴雲 DC2 搭建 VPP 應用例項
- 免root解除安裝Android預裝應用Android
- mysqld_multi安裝多個mysql例項MySql
- Qmail+LDAP安裝配置例項(一)(轉)AILDA
- 單機環境安裝配置ASM例項ASM
- hive應用例項1Hive
- 智慧Web應用例項Web
- calico docker 應用例項Docker
- Android靜默安裝應用和靜默解除安裝應用Android
- 建立第一個基於Prism框架的WPF應用例項(含原始碼下載)框架原始碼
- Docker開發例項之應用場景Docker
- MySQL在Windows上安裝多個例項的方法MySqlWindows
- R1-003 MySQL的rpm安裝例項MySql
- ORACLE外部表的應用例項Oracle
- 叢集的應用例項(zt)
- Argo 安裝和 workflow 例項配置檔案解析Go
- 19C 單例項資料庫安裝單例資料庫