DownloadManager通知单击意图问题

时间:2017-10-18 10:31:36

标签: android android-intent android-download-manager

我通过我的应用程序中的downloadManager下载内容。下载完成后,用户点击通知,我的应用程序打开。

开始下载:

        request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI or DownloadManager.Request.NETWORK_MOBILE)
                .setMimeType(context.getString(R.string.application_mime_type))
                .setTitle(context.getString(R.string.download_title))
                .setDescription(videoName)
                .setDestinationInExternalFilesDir(context,
                        MY_CONTENT_PATH,
                        getFileNameForContent(id, videoName, videoType))
                .setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
        manager.enqueue(request)

抓住通知点击:

    <activity
        android:name=".presentation.MainActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <data android:mimeType="@string/application_mime_type" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

MainActivity onCreate():

val dataUri = intent.data
    if (dataUri != null) {
        ...
    }

对于API 19
dataUri = file:///storage/emulated/0/Android/data/ru.mycompany.myapp/files/filename.mp3
对于API 25
dataUri=content://com.android.providers.downloads.documents/document/276

我的问题:它的区别取决于Android版本或设备?我在哪里可以找到这方面的文件?

1 个答案:

答案 0 :(得分:0)

这是因为Android版本,API 19之后的行为有所不同。 您可以在此处获取更多信息:

Android: Getting a file URI from a content URI?