2014-12-19 1 views
0

Я пытаюсь использовать настраиваемую схему url, myapp: // recv, чтобы получать логины. Я подумал, что для этого я бы использовал BroadcastReceiver и intent-filter. Я пошел вперед и сделал это, но независимо от того, что я делаю, я получаю ошибку ERR_UNKNOWN_URL_SCHEME. Googling показал, что раньше это была ошибка Chromium (которая, по-видимому, была решена), и я не могу понять, как это решить. Это моя регистрация приемника Broadcast. Благодаря!Пользовательская схема URL с BroadcastReceiver не работает (ERR_UKNOWN_URL_SCHEME)

<receiver 
      android:name=".LoginReceiver"> 
      <intent-filter> 
       <data android:scheme="myapp"/> 
       <data android:host="recv"/> 
       <data android:pathPattern=".*"/> 
       <action android:name="android.intent.action.VIEW"/> 
       <category android:name="android.intent.category.DEFAULT"/> 
       <category android:name="android.intent.category.BROWSABLE"/> 
      </intent-filter> 
     </receiver> 
+1

Обычно вы не используете схемы или шаблоны Uri с приемником. Кто на самом деле должен отправлять эту трансляцию? – CommonsWare

+0

API Twitter будет перенаправлять пользователя на эту схему URI, но всякий раз, когда он перенаправляет (или я перехожу к нему вручную), он терпит неудачу. Кроме того, даже если я переместил этот фильтр намерения в действие, он не работает. – ollien

+0

«API Twitter будет перенаправлять пользователя на эту схему URI», а не через трансляцию, они не будут. «Кроме того, даже если я переместил этот фильтр намерения в действие, он не сработает» - я начал бы избавляться от вашего «pathPattern», так как вы его не используете. Помимо этого, пожалуйста, объясните ** полностью и точно **, что вы делаете, что заставляет вас «получить ошибку« ERR_UNKNOWN_URL_SCHEME ». Высказывание «независимо от того, что я делаю» не особенно полезно, поскольку мы понятия не имеем, что вы пытались, какая трассировка стека Java была сгенерирована и т. Д. – CommonsWare

ответ

1

Проблема, кажется, что вы не можете иметь схему URI intent-filter собирается в BroadcastReceiver. Это должно быть Activity.