Impedisci alle app di aprire i collegamenti nelle schede personalizzate di Chrome (ovvero aprire direttamente nel browser predefinito)


20

Non molto tempo fa, Google ha aggiunto una nuova funzione chiamata Schede personalizzate di Chrome da Chrome 45 su Android JellyBean o versioni successive.

Che cosa sono le schede personalizzate di Chrome?

Gli sviluppatori di app devono scegliere quando un utente tocca un URL per avviare un browser o creare il proprio browser in-app utilizzando WebViews.

Entrambe le opzioni presentano sfide: l'avvio del browser è un interruttore di contesto pesante che non è personalizzabile, mentre WebViews non condivide lo stato con il browser e aggiunge sovraccarico di manutenzione.

Le schede personalizzate di Chrome offrono alle app un maggiore controllo sulla loro esperienza web e rendono più fluide le transizioni tra contenuto nativo e contenuto Web senza dover ricorrere a un WebView.

Quando sarà disponibile?

A partire da Chrome 45, le schede personalizzate di Chrome sono ora generalmente disponibili per tutti gli utenti di Chrome, su tutte le versioni Android supportate di Chrome (Jellybean in poi).

dimostrazione schede personalizzate

Google ha integrato questa funzione in alcune delle sue app (ad esempio Google+ , Ricerca Google ) e ora anche le app di terze parti possono usarla (ad esempio Twitter , Stack Exchange ).

Mentre alcune app forniscono le impostazioni per abilitarlo / disabilitarlo (ad es . Ricerca Google ), altri non sembrano essere in grado di disabilitarlo. So che posso ancora aprire il collegamento in Chrome toccando il menu di overflow (3 punti in alto a destra) e selezionare Apri in Chrome . Tuttavia, sarebbe preferibile se può essere disabilitato su app specifiche.

Quindi, la mia domanda è: è possibile disabilitare questa funzione, preferibilmente su app selettive ? (disabilitando, intendo aprire il collegamento direttamente nel browser predefinito o chiedere all'utente di scegliere un browser)

Nota : sono aperto a tutti i suggerimenti, comprese le soluzioni di root, o anche alla disinstallazione di Chrome nel peggiore dei casi. Tuttavia, sono preferite risposte più pratiche.

Risposte:


8

La pagina di aiuto Schede personalizzate dice:

Cosa succede se l'utente non ha installato una versione recente di Chrome?

Le schede personalizzate utilizzano un ACTION_VIEWIntento con extra chiave per personalizzare l'interfaccia utente. Ciò significa che per impostazione predefinita la pagina verrà aperta nel browser di sistema o nel browser predefinito dell'utente.

Se l'utente ha installato Chrome ed è il browser predefinito, raccoglierà automaticamente EXTRASe presenterà un'interfaccia utente personalizzata. È anche possibile che un altro browser utilizzi gli extra Intent per fornire un'interfaccia personalizzata simile.

Ciò significa che se si imposta un altro browser come predefinito (questo può essere fatto tramite Impostazioni> App> Menu ingranaggio> App predefinite ), qualsiasi app che tenta di aprire una scheda personalizzata aprirà invece il collegamento in quel browser.

Aggiornamento: ciò significa anche che è possibile scrivere un'app "manager" che si presenta come un browser (gestisce l' ACTION_VIEWintento) e, alla ricezione di questo intento, controlla se ha delle schede personalizzate EXTRASe, a seconda della logica, apre un browser del tuo scelta usando un intento esplicito (dove viene esplicitamente specificato il nome del pacchetto dell'app desiderato).


Grazie, la modifica del browser predefinito ha funzionato in qualche modo su alcune app (ad esempio l'app Stack Exchange), ma non ha funzionato sul resto (ad esempio Google News & Weather), non sono sicuro per i motivi ... L'app di gestione è un'idea interessante e io proverò a sperimentare se funziona con l'app di automazione!
Andrew T.

1
È perché Notizie e meteo (provato v 2.3.3.) Specifica la componente esplicitamente nell'intento: START u0 {act=android.intent.action.VIEW dat=http://news.google.com/... flg=0x14002000 cmp=com.android.chrome/org.chromium.chrome.browser.ChromeTabbedActivity (has extras)} from uid 10041 on display 0. Stile cattivo, ma non puoi farci niente :(
Mikhail Naganov,

2

Sto usando Android 7.1.1. Apri l'applicazione Google o fai una ricerca, fai clic sull'hamburger in alto a sinistra e vai in Impostazioni.

Vai in Account e privacy.

Disattiva "apri pagine Web nell'app".

Questo sembra disattivare le schede personalizzate di Chrome.


3
Ciò disabilita le schede personalizzate solo nell'applicazione di ricerca (possibilmente altre app Google), ma non a livello di sistema.
Keith Twombley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.