鴻蒙OS 媒體掃描服務(wù)操作開發(fā)指導(dǎo)

2020-09-18 14:44 更新

場景介紹

媒體掃描服務(wù)從新創(chuàng)建或下載的媒體文件中讀取元數(shù)據(jù),并將文件添加到媒體數(shù)據(jù)庫中。

接口說明

接口名 描述
performLoggerFile(String path, String mimeType) 請求通過文件的路徑和類型掃描一個媒體文件。
performLoggerFile(Context context, String[] paths, String[] mimeTypes, AVLogCompletedListener callback) 一次掃描多個媒體文件。
connect() 連接到掃描服務(wù)。
disconnect() 從掃描服務(wù)斷開連接。
isConnected() 檢查掃描服務(wù)是否已連接。

開發(fā)步驟

媒體掃描服務(wù)分為動態(tài)調(diào)用和靜態(tài)調(diào)用,以掃描文件為例:

動態(tài)調(diào)用

  1. 初始化 AVLoggerConnection,并注冊回調(diào)函數(shù)。

  1. public class ZSacnnerTest implements AVLoggerScannerConnectionClient {
  2. private AVLoggerConnection zScanConn;
  3. public ZSacnnerInterTest(Context context) {
  4. // 實(shí)例化
  5. zScanConn = new AVLoggerConnection(context, this);
  6. }
  7. // ...
  8. }

  1. 連接媒體掃描服務(wù)。

  1. zScanConn.onConnect(); // 連接掃描服務(wù)

  1. 在onLoggerConnected回調(diào)函數(shù)中執(zhí)行掃描。

  1. @Override
  2. public void onLoggerConnected() {
  3. zScanConn.performLoggerFile(filePaths[i], mimeTypes[i]); // 服務(wù)回調(diào)執(zhí)行掃描
  4. }

  1. 在 onLogCompleted 回調(diào)函數(shù)中通知掃描結(jié)果。

  1. @Override
  2. public void onLogCompleted(String path, String uri) {
  3. // 回調(diào)函數(shù)返回URI的值
  4. zScanConn.disConnect(); // 斷開掃描服務(wù)
  5. }

靜態(tài)調(diào)用

  1. AVLoggerConnection 靜態(tài)方法 performLoggerFile, 掃描結(jié)果在 onLogCompleted 中通知。

  1. AVLoggerConnection.performLoggerFile(this, filePaths, null, new AVScanCompletedListener(){
  2. @Override
  3. public void onLogCompleted(String path, String uri) {
  4. }
  5. });
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號