У меня есть приложение для Android, которое прослушивает намерения браузера, чтобы поймать их всякий раз, когда пользователь нажимает на определенный тип URI. В частности, я хочу, чтобы мое приложение открывалось, когда пользователь нажал на гиперссылку, указывающую на торрент-файл (например, http://somewhere/file.torrent).Как поймать/прослушивать загрузку веб-браузера Android.
Ниже мои намерения фильтров из моего приложения AndroidManifest.xml:
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:mimeType="application/x-bittorrent"
android:scheme="http" />
</intent-filter>
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="*"
android:pathPattern=".*\\.torrent"
android:scheme="http" />
</intent-filter>
Это хорошо работает до тех пор, как точка гиперссылки местоположение файла. НО - иногда URL-адреса напрямую указывают на файл и интерпретируются сервером для возврата файла для загрузки на основе какого-то идентификатора, подобного этой ссылке http://www.mininova.org/get/13202308, которая возвращает файл обратно. В этом случае мои фильтры намерения не работают, и браузер Android загружает файл вместо того, чтобы открывать мое приложение и передавать намерение с URI файла.
Кто-нибудь знает, как получить URI файла?
Благодаря