Estou tentando implementar guias de cromo personalizadas. Estou usando os customtabs de biblioteca padrão do Google .
Consultei este tutorial para implementar guias de cromo personalizadas. agora, conforme sugerido no tutorial, fiz minha codificação algo assim.
mCustomTabsServiceConnection = new CustomTabsServiceConnection() {
@Override
public void onCustomTabsServiceConnected(
ComponentName componentName,
CustomTabsClient customTabsClient) {
mCustomTabsClient = customTabsClient;
mCustomTabsClient.warmup(0L);
mCustomTabsSession = mCustomTabsClient.newSession(null);
}
@Override
public void onServiceDisconnected(ComponentName name) {
mCustomTabsClient = null;
}
};
CustomTabsClient.bindCustomTabsService(this, "com.android.chrome",
mCustomTabsServiceConnection);
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(
mCustomTabsSession).setShowTitle(true);
builder.setToolbarColor(getResources().getColor(R.color.purple_main));
builder.setStartAnimations(getApplicationContext(), R.anim.fadein,
R.anim.fadeout);
builder.setExitAnimations(getApplicationContext(), R.anim.fadein,
R.anim.fadeout);
mCustomTabsIntent = builder.build();
e o lançamento de guias personalizadas.
mCustomTabsIntent.launchUrl(TampleDetails.this,
Uri.parse(temple_website));
Agora, como você pode ver, eu vinculei as guias personalizadas ao nome do pacote do Chrome, mas ele ainda pede a escolha entre o Chrome e o navegador UC . e é óbvio que o navegador UC não oferece suporte a guias personalizadas.
Portanto, minha pergunta é como restringir as guias personalizadas para vincular apenas ao navegador Chrome?
Qualquer ajuda será apreciada.
Obrigada.
Verifique esta resposta stackoverflow : se você definir o pacote CustomTabIntent com o pacote do navegador desejado antes de iniciar o url, poderá ignorar a opção de navegador de diálogo do Android; para mim funcionou:
/**
* Opens the URL on a Custom Tab
*
* @param activity The host activity.
* @param uri the Uri to be opened.
*/
public static void openCustomTab(Activity activity,
Uri uri) {
// Here is a method that returns the chrome package name
String packageName = CustomTabsHelper.getPackageNameToUse(activity, mUrl);
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
mCustomTabsIntent = builder
.setShowTitle(true)
.build();
builder.setToolbarColor(ContextCompat.getColor(activity, R.color.colorPrimary));
if ( packageName != null ) {
mCustomTabsIntent.intent.setPackage(packageName);
}
mCustomTabsIntent.launchUrl(activity, uri);
}
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras