DownloadManager


다운로드 매니저를 사용하기 전에 AndroidManifest.xml에 브로드캐스트 수신기를 선언합니다.

<receiver
    android:name="com.newin.nplayer.sdk.DownloadCompleteReceiver"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
    </intent-filter>
</receiver>

import com.newin.nplayer.sdk.DownloadManager
class DownloadManager

다운로드 매니저 클래스는 아래와 같은 속성과 메서드를 가지고 있습니다.


정적 속성

shared

companion object {
    val shared: DownloadManager
}
타입설명설정
DownloadManager현재 활성화된 다운로드 매니저에 접근하기 위한 속성불가능

다운로드 매니저에 접근하기 위한 정적 속성입니다. 아래에 언급되는 속성 및 메서드를 호출할 때, DownloadManager.shared를 사용하여 접근할 수 있습니다.


인터페이스

DownloadManager.Listener

interface Listener {
    fun onItemAdded(item: DownloadItem) {}
    fun onItemRemoved(item: DownloadItem) {}
    fun onStatusChanged(item: DownloadItem) {}
    fun onProgressUpdated(item: DownloadItem) {}
}

다운로드와 관련된 이벤트 처리를 위한 인터페이스입니다. 자세한 내용은 DownloadManager.Listener를 참고하세요.


속성

downloadsUri

var downloadsUri: Uri
타입설명설정
android.net.Uri다운로드된 아이템이 저장되는 최상위 디렉토리불가능

다운로드된 아이템이 저장되는 디렉토리 중 최상위 디렉토리를 나타내는 속성입니다.

참고: displayPath
toUri

items

val items: List<DownloadItem>
타입설명설정
List<DownloadItem>현재 다운로드 목록에 있는 아이템들불가능

현재 다운로드 목록에 있는 아이템들을 반환하는 속성입니다.

maxParallelDownloads

var maxParallelDownloads: Int
타입설명설정기본값
Int동시에 다운받을 수 있는 아이템 최대 개수가능3

동시에 받을 수 있는 아이템의 최대 개수를 반환하거나 설정합니다.


메서드

add

fun add(mediaItem: MediaItem, allowsCellularAccess: Boolean = true): DownloadItemId
파라미터타입설명필수기본값
mediaItemMediaItem추가하고자 하는 미디어 아이템O없음
allowsCellularAccessBoolean다운로드 시 셀룰러 데이터 사용 여부Xtrue

다운로드를 할 미디어 아이템을 추가합니다. 현재 다운로드가 진행되고 있는 아이템의 수가 maxParallelDownloads 보다 적으면 바로 다운로드를 시작합니다. 셀룰러 데이터 사용을 허용하지 않으려면, allowsCellularAccess를 false로 설정하여 호출하십시오.

참고: DownloadItemId

getItemsByStatus

fun getItemsByStatus(status: DownloadItem.Status): List<DownloadItem>
파라미터타입설명
statusDownloadItem.Status가져오고자 하는 아이템의 다운로드 상태

특정 다운로드 상태의 아이템 목록을 가져오기 위해서 사용하는 메서드입니다.

pause

fun pause(id: DownloadItemId)
파라미터타입설명
idId일서 정지할 다운로드 아이템의 아이디

다운로드를 일시 정지할 때 사용하는 메서드입니다.

pauseAll

fun pauseAll()

다운로드 목록에 있는 모든 아이템의 다운로드를 일시 정지하게 하는 메서드입니다.

remove

fun remove(id: DownloadItemId)
파라미터타입설명
idId제거할 다운로드 아이템의 아이디

다운로드 목록에서 아이템을 지울 때 사용하는 메서드입니다.

removeAll

fun removeAll()

다운로드 아이템 목록을 모두 지우는 메서드입니다.

removeCompleted

fun removeCompleted()

다운로드가 완료된 아이템을 목록에서 모두 지우는 메서드입니다.

resume

fun resume(id: DownloadItemId)
파라미터타입설명
idId다운로드 재개할 아이템의 아이디

다운로드를 일시 정지한 아이템의 다운로드를 재개하는 메서드입니다.

resumeAll

fun resumeAll()

일시 정지한 모든 아이템의 다운로드를 재개하는 메서드입니다.

addListener

fun addListener(listener: Listener)
파라미터타입설명
listenerDownloadManager.Listener추가할 다운로드 매니저 리스너

다운로드 매니저 리스너를 추가하기 위한 메서드입니다. 리스너를 추가한 후, 해당 리스너가 더 이상 필요 없을 때는 반드시 removeListener() 메서드를 사용해서 제거하세요.

removeListener

fun removeListener(listener: Listener)
파라미터타입설명
listenerDownloadManager.Listener제거할 다운로드 매니저 리스너

다운로드 매니저 리스너를 제거하기 위한 메서드입니다.