標籤:安全性 es2017 系統 方法 ati intent 1.4 許可權 字元
1.使用通知
1.1簡介
通知指的是某個應用程式希望想使用者發出一些提示資訊,而該應用程式又不在前台運行時,就需要藉助通知來實現。
1.2通知的基本用法
步驟:
1)執行個體化NotificationManager
2)設定PendingIntent用於跳轉活動,發送廣播,啟動服務。
(該方法有四個參數,一個參數是context,第二個參數一般用不到,通常傳入0即可,第三個參數是Intent對象,第四個參數用於確認PendingIntent的行為,有FLAG_ONE_SHOT、FLAG_NO_CREATE, FLAG_GANCEL_CURRENT, FLAG_UPDATE_CURRENT四種值可以選,具體含義看文檔,通常情況下傳入0即可)
3)執行個體化Notification並且設定訊息
4)NotificationManager執行個體化對象調用notify來讓通知顯示(其有兩個參數,一個是id號,一個是Notification對象)
執行個體:
注意:當我們點擊了這個通知之後會跳轉到NotificationActivity這個活動,該通知還會繼續在狀態列上,解決這個問題有兩個方法,如下:
1)在NotificationCompat.Builder中在連綴一個setAutoCancel()方法
在被調用的活動,廣播接收器或者服務中擷取到NotificationManager對象,調用cancel()把它取消掉
1.3 通知的進階技巧
核心思想:NotificationCompat.Builder中提供了非常豐富的API來讓我們建立出更多的效果,所以接下來我們就學習一下常用的其他效果。
1)來通知的時候,用音頻來提醒
2)來通知的時候,用震動來提醒
注意,要加許可權:
3)控制手機LED燈的顯示
4)使用預設設定
1.4 通知的進階功能
1)設定長文
2)設定大圖片
3)設定通知的重要程度
2.調用網路攝影機和相簿
調用網路攝影機:
步驟:
1)建立File對象,用於儲存拍照後的圖片,並把它存放在手機SD卡的應用關聯緩衝目錄下。(應用關聯緩衝目錄就是指sd卡中專門用於存放當前應用快取資料的位置,調用getExternalCacheDir()方法就可以得到這個目錄,而用到這個應用關聯緩目錄,是因為在6.0之後,讀寫sd卡被列為危險許可權,都要進行運行時許可權處理才行,而使用應用關聯目錄則可以跳過這一步)
2)進行版本判斷,低於Android 7.0的就調用Uri的fromFile()方法將File轉換成Uri對象,這個對象標誌著圖片的本地真實路徑。否則,就調用FileProvider的getUriForFile()方法將File對象轉換成一個封裝過的Uri對象。getUriForFile()接受三個參數,第一個為Context,第二個為任意唯一的字串,第三個為剛剛建立的File對象。之所以要進行這樣一層的轉換,是因為在7.0系統開始,直接使用真實路徑的uri被認為是不安全的,會拋出一個FileUriExposedExeption異常。而FileProvider則是一種特殊的內容提供器,它使用了和內容提供器類似的機制來對資料進行保護,可以選擇性地將封裝過的uri共用給外部,從而提升安全性。
3)構建Intent的對象,指定action為android.media.action.IMAGE_CAPTURE,再調用Intent的putExtra()方法指定圖片的輸出地址,最後調用startActivityForResult()來啟動活動。(使用該方法來啟動活動,是為了將處理返回來的圖片,把起顯示出來)
執行個體:
從相簿中選擇圖片:
步驟:
1)動態申請WRITE_EXTERNAL_STORAGE許可權
2)
3.播放多媒體檔案
3.1播放音頻
思想:播放音頻檔案一般使用到的是MediaPlayer類,下表列出了MediaPlayer類中的一些較為常用的控制方法:
運用手機多媒體