2015-11-16 22 views
8

Pianificazione per l'utilizzo delle schede personalizzate di Chrome, tuttavia prima di iniziare volevo sapere se è possibile intercettare la richiesta e impostare eventuali intestazioni nella richiesta simili a WebViews?È possibile aggiungere intestazioni di richiesta personalizzate quando si utilizzano le schede personalizzate di Chrome?

Leggere la documentazione e non è stato possibile trovare esempi o riferimenti. Tutto quello che è riuscito a trovare è il callback onNavigationEvent che indica cosa sta cercando di caricare il browser url.

Inoltre, è possibile interrompere la navigazione per qualsiasi URL, se necessario?

+0

Come una questione di curiosità, si potrebbe ampliare il motivo per cui si desidera impostare intestazioni personalizzate e interrompere la navigazione? – andreban

+0

Certo, il mio caso d'uso è che voglio aggiungere alcune intestazioni se il sito web è in determinati domini per es. xyz.com (a scopo di monitoraggio) ma non aggiungere quelle intestazioni per qualsiasi altro dominio. Non ho alcun caso d'uso per interrompere la navigazione sin d'ora, ma ero curioso di sapere se potessimo farlo nel caso in cui volessimo impedire all'utente di accedere ad un sito web di un concorrente tramite il deep linking web. – ksarmalkar

risposta

1

Come degli ultimi aggiornamenti della biblioteca, è ora possibile aggiungere Bundle e passarlo al CustomTabsIntent intento come extra con chiave Browser.EXTRA_HEADERS

Bundle headers = new Bundle(); 
headers.putString("header1", "value1"); 
headers.putString("header2", "value2"); 
customTabsIntent.intent.putExtra(Browser.EXTRA_HEADERS, headers); 
+0

Purtroppo questo non funziona più. Sembra che questa funzionalità sia stata interrotta. Vedi https://bugs.chromium.org/p/chromium/issues/detail?id=770186 – Pepijn

0

A partire da oggi, non è possibile impostare intestazioni di richiesta personalizzate. Non è possibile interrompere la navigazione.

+1

qualche idea se questa sarà una possibilità in qualsiasi momento nelle versioni future? – ksarmalkar

0

sono riuscito a iniettare intestazioni HTTP per la prima scheda seguente in questo modo: https://medium.com/@_rpiel/chrome-custom-tabs-and-headers-or-a-happy-open-source-story-9c3f82680eea#.l46alsivf

Non credo che sia supportato per schede successive per ora.

+0

Ottimo inizio! vorremmo comunque controllare per dominio – ksarmalkar

+0

Bene se tutto quello che ti interessa è la prima scheda, puoi controllare il dominio del primo url –

+0

Vorrei che fosse così semplice;) Se leggi la domanda originale il caso d'uso di cui ho bisogno è molto più complesso della prima scheda. È necessario anche preoccuparsi di reindirizzamenti js, altri reindirizzamenti, ecc. – ksarmalkar

Problemi correlati